14

我想将 href 属性添加到链接元素。这是我的代码:

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 回答