繁体   English   中英

ASP.NET Webforms的中继器中Eval数据库列值的HTML解码

[英]HTML Decoding of Eval database column value in repeater of ASP.NET webforms

我试图从数据库中获取HTML编码的值(通过响应的文本编辑器控件进行处理和输入),并将其解码以在Webform页面中显示为普通纯文本。

我可以使用中继器中的Eval方法获取值,如下所示

<p><%#Eval("Content")%></p>

它工作得很好。 我进一步尝试通过以下代码来缩短它

<%#Eval("Content").ToString().Length >= 170 ? Eval("Content").ToString().Substring(0, 170) : Eval("Content").ToString()%>

我最近添加的需要提供的数据库值是纯文本而不是HTML编码的吗,因此它停止工作了。

因此,我想知道是否可以使用以下代码对编码后的视频进行解码

<%=System.Web.HttpUtility.HtmlDecode()%>

我曾尝试这样做,但没有喜悦,如果以下代码错误,有人可以帮助或纠正我吗(我认为)

<%=System.Web.HttpUtility.HtmlDecode(#Eval("Content"))%>

我相信您需要:

<%# System.Web.HttpUtility.HtmlDecode(Eval("Content")) %>

<%=等效于Response.Write<%#是数据绑定语法,在这种情况下,这是您所需要的。 您在Eval调用中的哈希前缀无效。

这是解释各种ASP.NET内联服务器标签之间区别的有用参考: http : //weblogs.asp.net/ahmedmoosa/embedded-code-and-inline-server-tags

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM