如何从html转义中抑制asp:image AlternateText?

时间:2010-05-03 14:27:17

标签: asp.net

我有一个asp:Image - 我正在从后面的代码中分配“alt”和“tooltip”。不幸的是,来自数据库的价值是自动进行html转义 - 我现在想要它 - 我该如何抑制它?

例如,我的商标html实体正在执行此操作 - >

® gets changed to --> &#174

- 这是不正确的

这是我在aspx中的代码:

<asp:Image runat="server" ID="MainImage"  Width="260" />

我有任何选择吗?

谢谢,

-R

这是我的代码背后:

this.MainImage.AlternateText = this.BasePage.SellGroup.DisplayName;

1 个答案:

答案 0 :(得分:0)

我必须说这个问题看起来比现在简单。据我所知,没有办法覆盖图像的HTML标记的Html编码的默认行为。这给你留下了几个选择:

使用HttpDecode

在分配AlternateText属性之前解码数据。这可能是最简单和技术上的,因为Image控件正在编码alt属性,这应该可以正常工作。这意味着实际注册的符号将在浏览器中呈现,而不是&#174;

this.MainImage.AlternateText = HttpUtility.HtmlDecode( this.BasePage.SellGroup.DisplayName );

使用Literal控件

创建Literal控件并按以下方式设置属性:

this.Literal1.Mode = LiteralMode.PassThrough;
this.Literal1.Text = string.Format( "<img src=\"{0}\" alt=\"{1}\" />", "Foo.jpg", "&#174;" );