如何禁用文本框的html编码?

时间:2013-05-08 14:03:08

标签: c# asp.net asp.net-mvc-4 ascx

我在ascx页面上有一个文本框输入控件值的麻烦。它的价值总是以html编码,我不知道如何禁用它。 例如,当值包含<字符时,它始终转换为&lt;。奇怪的是,它只发生在Name.Lastname(具有子属性)等字段上。我的第一个想法是它可能是由Html扩展方法引起的

Html.TextBoxFor(m => m.Name.LastName, new { maxlength = "100" }) 

但事实并非如此,因为当我直接使用html输入时,它的值仍然是编码的:

<input id="Name_LastName" maxlength="100" 
       name="Name.LastName" 
       type="text" value="<%= Model.Name.LastName %>" />

有人知道如何禁用Name.LastName(带子属性)等字段的文本框值的html编码吗?

1 个答案:

答案 0 :(得分:0)

经过更多研究后,我发现它是由javascript函数引起的,变量是使用<%:初始化的,并且此函数用于初始化文本框。所以最终它与子属性无关。我在javascript部分中使用<%:更改了<%=

var lastName = "<%: Model.Name.LastName %>";

var lastName = "<%= Model.Name.LastName %>";