我在文本字段和AutoPostBack中的HTML字符有问题。
我有以下几点:
<asp:FormView ID="FormView1" runat="server"
DataKeyNames="ID" DataSourceID="SqlDataSource4"
ForeColor="#333333" DefaultMode="Edit"
HorizontalAlign="Center" Font-Size="X-Small"
Width="100%" OnDataBound="FormView1_DataBound">
<asp:TextBox ID="fooTextBox" runat="server"
Width="100%" Rows="4" TextMode="MultiLine"
CssClass="tr4" Text='<%# Bind("foo") %>' AutoPostBack="true"
OnTextChanged="ChangedRecord" />
</asp:FormView>现在,当用户进入文本框时,如下所示
< foo>
由于文本字段中的HTML字符,它将引发错误500。
在通过AutoPostBack发送之前,我如何管理它?
发布于 2012-08-01 04:04:42
这是因为Page的ValidateRequest属性(默认值为true)。您可以关闭ValidateRequest,以便允许标记、脚本等(潜在的危险值)。
如果您的应用程序目标到.net框架4.0版,那么在web.config中添加以下部分:
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime requestValidationMode="2.0" />
</system.web>发布于 2012-08-01 04:10:47
如果您需要在文本框中输入html/xml,最好的处理方法是将html编码为输入。<foo>将成为<foo>,这将使表单的发布更加安全。请记住,在提交供使用后,您需要对其进行解码。使用下面的链接检查html编码。http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Encode.aspx/
https://stackoverflow.com/questions/11752001
复制相似问题