15

我收到错误“一个潜在的危险请求”..在 Web 表单应用程序中我尝试使用“validatepage=false”和“”然后我尝试了 Server.HtmlEncode,因此它将编码的 html 保存在数据库中。现在,当我在Repeater控件中显示数据时,Server.HtmlDecode(DataContent.FieldValue("Contents", Container))它显示带有html标签的文本,如<p>asfd</p>..

我该如何解决这个问题?在 razor 视图中 Html.Raw 工作正常,但在 webform 视图/ASP.NET 中有什么替代方法?有人可以帮忙吗?

4

2 回答 2

10

您可以使用不会对值进行编码的 <%= value %> 。

或者您可以实现自己的 HTML.Raw 版本

Html.Raw 返回一个与字符串几乎相同的 IHtmlString 实例,但 ASP.net 不编码 IHtmlString。

复制 HTML.Raw() 的简单函数

    /// <summary>
    /// Stops asp.net from encoding the source HTML string.
    /// </summary>
    /// <param name="source"></param>
    /// <returns></returns>
    public static IHtmlString HTMLRaw(string source)
    {
        return new HtmlString(source);
    }
于 2013-11-06T13:06:51.490 回答
8

您可以使用 asp:Literal 和 Mode=PassThrough

于 2012-05-30T15:50:42.250 回答