我收到错误“潜在的危险请求”..在Web窗体应用程序中我尝试过“validatepage = false”和“”然后我尝试了Server.HtmlEncode,因此它将编码的html保存在数据库中。现在,当我通过Server.HtmlDecode(DataContent.FieldValue("Contents", Container))
显示Repeater控件中的数据时显示带有<p>asfd</p>
等html标签的文本。
我如何解决这个问题?在剃刀视图中Html.Raw工作正常,但在webform视图/ ASP.NET中有什么替代方案?有人可以帮忙吗?
答案 0 :(得分:10)
你可以使用&lt;%= value%&gt; 不对值进行编码。
或者您可以实现自己的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);
}
答案 1 :(得分:6)
你可以使用asp:Literal with Mode = PassThrough