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);

このオーバーロードの 3 番目の引数は、属性とその値をエンコードするかどうかを示します。

于 2014-02-19T05:12:02.383 に答える