-1

我不明白以下几行的含义。

(a) 这是 .cshtml 文件中的一行。我使用剑道用户界面。

@Html.TextBox("textname", null, new { @class = "k-textbox", style = "width:97px;" })

(b)。这是来自app_data文件夹。我不明白 HtmlEncode 和 HtmlAttributeEncode 之间的区别

public class AntiXssEncoder : HttpEncoder
{
    public AntiXssEncoder() 
    {
    }

    protected override void HtmlEncode(string value, TextWriter output)
    {
        output.Write(AntiXss.HtmlEncode(value));
    }

    protected override void HtmlAttributeEncode(string value, TextWriter output)
    {
        output.Write(AntiXss.HtmlAttributeEncode(value));
    }
    ...
}
4

1 回答 1

0

第一行

@Html.TextBox("textname", null, 
               new { @class = "k-textbox", style = "width:97px;" })

将生成类似的输出

<input type="text" class="k-textbox" style="width:97px"/>

因此,如果它们是表单的一部分,它是一个允许生成具有某些优势的文本框的助手,例如绑定。您可以在 MSD 和此处阅读有关它的更多信息

其他两种方法之间的区别是,如MSDN 资源中所述

HtmlAttributeEncode方法将引号 (")、与号 (&) 和左尖括号 (<) 转换为等效的字符实体。它比 HtmlEncode 方法快得多。

于 2013-04-15T11:49:06.487 回答