防止从网页发布文本框控件

时间:2013-10-29 13:02:06

标签: c# asp.net

我有一个网络表单,显示我从网络服务获得的数据。有一个文本框mainComments,其中包含以前通过winform前端添加的所有注释。有时,此数据包含导致错误A potentially dangerous Request.Form value was detected from the client的文本。事实是,我对表单提交中此文本框的内容不感兴趣。虽然我知道我可以通过不在文本框中显示这些数据来解决我的问题,无论出于何种原因,要求是保留文本框。文本框是只读的,只显示数据。

我的问题是:有什么方法可以隔离这个文本框并阻止它作为提交的一部分发布?像mainComments.IncludeInFormSubmit = false;之类的东西或者只是停止验证此文本框并阻止HttpRequestValidationException被抛出。我真的不想关闭整个页面的功能。

5 个答案:

答案 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)

您只能关闭整个页面的输入验证。我能想到的唯一解决方案是关闭输入验证,然后检查所有其他输入字段。