1

出于某种原因,HtmlTextWriter 在我的 html 输出中插入了奇怪的东西。在下面的代码中,我尝试创建一个包含图像的可点击 div:

writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "location.href = '" 
    + TargetHTTPRef + "'");
writer.RenderBeginTag(HtmlTextWriterTag.Div);
writer.AddAttribute(HtmlTextWriterAttribute.Src, ThumbFileName);
writer.RenderBeginTag(HtmlTextWriterTag.Img);
writer.RenderEndTag();

我得到以下输出:

<div class="leftGallery" onclick="location.href = &#39;http://www.google.com&#39;">
<img src="./images/services/47_Kayak%20Thumb.jpg" /><div class="galleryPanel">

所以我得到 ' 和 %20 出现在输出中应该出现撇号和空格的地方。有没有办法阻止这种情况??

4

1 回答 1

2

尝试另一个HtmlTextWriter.AddAttribute重载

writer.AddAttribute(
    HtmlTextWriterAttribute.Onclick,
    "location.href = '" + TargetHTTPRef + "'",
    false);

writer.AddAttribute(HtmlTextWriterAttribute.Src, ThumbFileName, false);

此重载的第三个参数指示是否对属性及其值进行编码。

于 2014-02-19T05:12:02.383 回答