【问题标题】:Problem with Request Validation请求验证问题
【发布时间】:2011-07-08 18:46:44
【问题描述】:

为了显示一些特殊的文本(如 html 数据),我在我的 aspx 页面中输入了validaterequest="false"。但不幸的是,我什至无法显示该文本。

那么我怎样才能显示(启用 Html 的)内容?

【问题讨论】:

  • 在将 HMTL 发布到页面时是否遇到异常?
  • 您使用的是哪个版本的 .NET Framework?是4.0吗?
  • 内容是否正在发送到客户端——在页面上做一个查看源代码。这应该可以确定是样式问题还是服务器渲染问题。
  • 您要在哪种控件中显示插入的 html?你有一些示例代码吗?
  • 字符串显示在文本框中,但该文本框在网格中(面板 --> 网格 --> 文本框)

标签: c# asp.net validate-request


【解决方案1】:

如果您遇到 validateRequest="false" 无效,可以通过在 web.config 中进行设置来帮助:

<system.web>
  <httpRuntime requestValidationMode="2.0" />
</system.web>

这会恢复到 ASP.NET 2.0 请求验证功能的行为。

【讨论】:

  • 我只使用 2.0。也收到此错误无法识别的属性“requestValidationMode”。请注意,属性名称区分大小写。
【解决方案2】:

如果你想显示 html 文本。在要显示文本的窗体上放置一个 asp:Literal 控件。例如

ASPX:
<asp:Literal ID="outputHtml" runat="Server">

CS:

outputHtml.Text = your_var_having_html;

【讨论】:

    【解决方案3】:

    如果 TextBox 位于数据绑定控件(Repeater/GridView/etc.)中,并且您在每次回发时绑定数据,则 TextBox 将丢失其内容,因为控件的所有内容都被重新创建。使用if(!Page.IsPostBack){/*code*/} 确保它仅在首次加载时进行数据绑定。

    【讨论】:

      猜你喜欢
      • 2015-06-22
      • 2016-05-20
      • 2013-10-06
      • 1970-01-01
      • 2020-05-08
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2021-08-05
      相关资源
      最近更新 更多