2014-01-31 55 views
0
public MvcHtmlString PopupList(List<string> myList) 
{ 
    TagBuilder ulBuilder = new TagBuilder("ul"); 
    foreach (var item in myList) 
    { 
     TagBuilder liBuilder = new TagBuilder("li");  
    liBuilder.InnerHtml =item; 
    ulBuilder.InnerHtml += liBuilder; 
    } 
MvcHtmlString.Create(ulBuilder.ToString()); 
} 

當我有「myList中」具有HTML標籤的話,我想不能轉換到HTML輸出不允許在MVC幫手擴展特定文本的轉換

+1

通過函數的返回類型轉換爲'IHtmlString'使用'HttpUtility.HtmlEncode'的項目 –

回答

0

使用HTML.Encode變量

HTML編碼確保文本在 瀏覽器中正確顯示,並且不被瀏覽器解釋爲HTML。例如,如果 文本字符串包含小於號(<)或大於號(>), ,那麼瀏覽器會將這些字符解釋爲HTML標記的開頭或結尾 括號。當字符爲HTML編碼時,它們被 轉換爲字符串<和>,這會導致瀏覽器顯示小於號和大於號的正確值。

+0

解決已經嘗試過,但它仍然將其轉換爲HTML標籤鑑於 –

+0

在'PopupList'方法試過嗎?您的方法的參數爲'myList',但在foreach中,您正在使用'lst' –

+0

更新的quesion代碼..現在檢查它 –