2011-08-12 21 views
2

我有一個文件名爲TopicTree.ascx.cs這我試圖輸出編碼字符串,像這樣:HTML編碼的ASP.NET Web控件

  string subject = reader.IsDBNull(0) ? string.Empty : reader.GetString(0); 
      string topic = reader.IsDBNull(1) ? string.Empty : reader.GetString(1); 

      subject = subject.Trim(); 
      topic = topic.Trim(); 

      string en_subject = Server.HtmlEncode(subject); 
      string en_topic = Server.HtmlEncode(topic); 

      string output = string.Format("<li><a href=\"searchresults.aspx?type=topics&subject={1}&topic={2}\" style=\"cursor: pointer;\">{0}</a></li>", topic, en_subject, en_topic); 

但是當我真正看到屏幕上的輸出,它不被編碼。怎麼了?

+0

如果「output」應該呈現爲HTML,那麼您要查找的是URLEncode。 – Brian

+0

啊,我一定很累! – cdub

回答

5

對於鏈接網址,您需要Server.UrlEncode()而不是Server.HtmlEncode()

但是對於鏈接顯示,您還需要關於該主題的Server.HtmlEncode(topic)