0

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

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

4

5 回答 5

0

将值设置为文本框时,您是否尝试过使用 HttpUtility.HtmlEncode?

另一种选择是根本不使用文本框,只需使用 CSS 将其标记为看起来像是在文本框中,如果这是所需的效果。

于 2013-10-29T13:11:34.610 回答
0

只需禁用文本框...如下:

<asp:TextBox ID="TextBox1" runat="server" Enabled="False" ></asp:TextBox>
于 2013-10-29T13:12:22.097 回答
0

只需使用纯 HTMLtextarea标签而不是asp:textbox标签。

例子

<textarea>
    <%= mainComments %>
</textarea>

而不是这样的

<asp:TextBox id="tbComments" rows="5" Text="mainComments" TextMode="multiline" runat="server" />
于 2013-10-29T13:08:23.117 回答
0

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

于 2013-10-29T13:14:29.167 回答
0

您可以使用一种解决方法,为该控件设置 disabled="disabled" ,它将被排除在回发之外。您可以在需要时启用它。

于 2013-10-29T13:09:56.120 回答