我有一个网络表单,显示我从网络服务获得的数据。有一个文本框mainComments
,其中包含以前通过winform前端添加的所有注释。有时,此数据包含导致错误A potentially dangerous Request.Form value was detected from the client
的文本。事实是,我对表单提交中此文本框的内容不感兴趣。虽然我知道我可以通过不在文本框中显示这些数据来解决我的问题,无论出于何种原因,要求是保留文本框。文本框是只读的,只显示数据。
我的问题是:有什么方法可以隔离这个文本框并阻止它作为提交的一部分发布?像mainComments.IncludeInFormSubmit = false;
之类的东西或者只是停止验证此文本框并阻止HttpRequestValidationException
被抛出。我真的不想关闭整个页面的功能。
答案 0 :(得分:0)
只需使用纯HTML textarea
代码,而不是asp:textbox
代码。
<textarea>
<%= mainComments %>
</textarea>
代替这样的事情
<asp:TextBox id="tbComments" rows="5" Text="mainComments" TextMode="multiline" runat="server" />
答案 1 :(得分:0)
您可以使用一种解决方法,为该控件设置disabled =“disabled”,它将从回发中排除。并且您可以在需要时启用它。
答案 2 :(得分:0)
您是否在将值设置为文本框时尝试使用HttpUtility.HtmlEncode?
另一种选择是根本不使用文本框,只使用CSS将其标记为文本框中的文本框,如果这是所需的效果。
答案 3 :(得分:0)
只需禁用文本框...如下所示:
<asp:TextBox ID="TextBox1" runat="server" Enabled="False" ></asp:TextBox>
答案 4 :(得分:0)
您只能关闭整个页面的输入验证。我能想到的唯一解决方案是关闭输入验证,然后检查所有其他输入字段。