14

href 属性を link 要素に追加したい。これは私のコードです:

System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
using (System.IO.StringWriter stringWriter = new System.IO.StringWriter(stringBuilder))
{
 using (System.Web.UI.HtmlTextWriter htmlTextWriter = new System.Web.UI.HtmlTextWriter(stringWriter))
 {

  htmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Ul);
  htmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Li);
  htmlTextWriter.RenderBeginTag(HtmlTextWriterTag.A);
  htmlTextWriter.AddAttribute(HtmlTextWriterAttribute.Href, "http://www.google.de");
  htmlTextWriter.Write("Google");
  htmlTextWriter.RenderEndTag();
  htmlTextWriter.RenderEndTag();


  htmlTextWriter.RenderEndTag();
 }
}

次のようにレンダリングされます。

<ul>
 <li><a>Google</a></li>
</ul>

これは私が期待したものです。

<ul>
 <li><a href="http://www.google.de">Google</a></li>
</ul>

何が問題で、どうすればこの問題を解決できますか?

他の方法で弦を組み立てることができると答えないでください。HtmlTextWriter でこれを達成する方法を知りたい

4

1 に答える 1

38

HtmlTextWriter を使用する場合、タグ名を追加する前に属性を追加する必要があります。このような:

  htmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Ul);
  htmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Li);

  htmlTextWriter.AddAttribute(HtmlTextWriterAttribute.Href, "http://www.google.de");
  htmlTextWriter.RenderBeginTag(HtmlTextWriterTag.A);
  htmlTextWriter.Write("Google");
  htmlTextWriter.RenderEndTag(); //A

  htmlTextWriter.RenderEndTag(); //LI
  htmlTextWriter.RenderEndTag(); //UL

次のようにレンダリングされます。

<ul>
    <li><a href="http://www.google.de">Google</a></li>
</ul>
于 2010-10-18T16:46:31.227 に答える