【发布时间】:2012-09-13 09:00:52
【问题描述】:
我对 HtmlGenericControl 对象的 InnerHTML 属性有疑问。我认为如果我将“xx”分配给 InnerText 属性,它将被编码 - 确实如此 - 如果我将相同的字符串分配给 InnerHtml 它不会被编码 - 但确实如此!我很困惑,因为它违背了我在其他帖子中看到的内容。
背景: 我分配的字符串是从数据库加载的,并在其生命周期内分配给各种其他字符串,然后最后用 Replace 方法替换占位符。它仍然包含“xx”而不是编码版本......为了绝对确定我绕过了整个过程并直接在后面的代码中分配了“xx”字符串 - 结果仍然保持不变(即编码)。
有人能解释一下为什么会这样吗?我做错了什么?谢谢。
编辑以使问题 100% 明确: 我需要以编程方式将“xx”分配给 HTMLGenericControl 对象,并将其呈现为 HTML 标记而不是编码文本。发生的情况是我可以看到“xx”写在屏幕上 - 不需要,我想看到粗体文本。我认为(并且在文档中对此进行了描述),如果我分配给 InnerHtml 属性,则字符串不会被编码并“按原样”显示。但它的行为并非如此。
【问题讨论】:
-
我不太确定我是否理解这个问题。问题是你替换占位符的字符串没有编码,但是你的占位符已经编码了吗?
标签: c# asp.net htmlgenericcontrol