C# Javascript打开<&&燃气轮机;在GridView编辑框中
我在UpdatePanel中有一个Asp.NETGridView。除了其中一列包含HTML特殊字符(如C# Javascript打开<&&燃气轮机;在GridView编辑框中,c#,asp.net,gridview,updatepanel,html-encode,C#,Asp.net,Gridview,Updatepanel,Html Encode,我在UpdatePanel中有一个Asp.NETGridView。除了其中一列包含HTML特殊字符(如)外,所有这些都可以正常工作。GridView绑定到一个列表,实体类有一个属性Regex,它是一个System.Text.RegularExpressions.Regex 起初我有这样一个想法: <asp:TemplateField HeaderText="RegEx"> <ItemTemplate> <asp:Label ID="RegEx
)外,所有这些都可以正常工作。GridView绑定到一个列表
,实体类有一个属性Regex
,它是一个System.Text.RegularExpressions.Regex
起初我有这样一个想法:
<asp:TemplateField HeaderText="RegEx">
<ItemTemplate>
<asp:Label ID="RegExLabel" runat="server" Text='<%#Eval("Regex") %>'
ToolTip='<%#Eval("Regex") %>' Width="102px" CssClass="Wrap" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="RegExTextBox" runat="server" Text='<%#Eval("Regex") %>'
Width="98px" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="RegEx">
<ItemTemplate>
<asp:Label ID="RegExLabel" runat="server"
Text='<%#System.Web.HttpUtility.HtmlEncode(Eval("Regex").ToString()) %>'
ToolTip='<%#System.Web.HttpUtility.HtmlEncode(Eval("Regex").ToString()) %>'
Width="102px" CssClass="Wrap" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="RegExTextBox" runat="server"
Text='<%#System.Web.HttpUtility.HtmlEncode(Eval("Regex").ToString()) %>'
Width="98px" />
</EditItemTemplate>
</asp:TemplateField>
这稍微好一点,因为工具提示和非编辑版本显示正确,但当我开始编辑时,我看到:(?capture\d+
,HTML实体显示为原始。是否有人知道如何对值进行编码(以停止脚本错误),同时在编辑时仍正确显示它们,而HTML实体不处于原始状态?
<asp:TemplateField HeaderText="RegEx">
<ItemTemplate>
<asp:Literal Mode="Encode" ID="RegExLabel" runat="server" Text='<%#Eval("Regex") %>'
ToolTip='<%#Eval("Regex") %>' Width="102px" CssClass="Wrap" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="RegExTextBox" runat="server" Text='<%#Eval("Regex") %>'
Width="98px" />
</EditItemTemplate>
</asp:TemplateField>
并在页面指令中添加此ValidateRequest=“false”
并在页面指令中添加此ValidateRequest=“false”