2016-09-08 2 views
0

Я использую жерех CheckBoxList, чтобы иметь, что результат enter image description hereжерех элемент CheckBoxList не делает правильный текст

Но использование HTML тегов в качестве элемента в CheckBoxList, осина интерпретирует его как HTML. Он работает для простого текста. Вот мой результат.

enter image description here

и здесь является декларация и обязательным методом

<asp:CheckBoxList ID="chklstreponse" runat="server"> 
        </asp:CheckBoxList> 

DataTable dtreponse = gq.GetRandom_Responses(Convert.ToInt32(idquest.Value)); 
     chkList.DataSource = dtreponse; 
     chkList.DataTextField = "libelle"; 
     chkList.DataValueField = "id"; 
     chkList.DataBind(); 

ответ

0

Я думаю, что вам нужно HtmlEncode значения в RadioButtonList.

System.Net.WebUtility.HtmlEncode("<html>") 

Но непосредственно связывать DataTable, вы должны либо сделать это в источнике из DataTable или цикла всех строк и кодировать их.

 foreach (DataRow row in dtreponse.Rows) 
     { 
      row["libelle"] = System.Net.WebUtility.HtmlEncode(row["libelle"].ToString()); 
     } 

     chkList.DataSource = dtreponse; 
     chkList.DataTextField = "libelle"; 
     chkList.DataValueField = "id"; 
     chkList.DataBind(); 
+0

Ваш первый ответ работает (до редактирования). Необходимо применить System.Net.WebUtility.HtmlEncode во всех строках данных и предоставить его как источник данных –

+0

Вы уверены? Я попробовал, и это не сработало для меня ... – VDWWD

+0

Да, это работает для меня. i v'e добавил код в ваш ответ –

0

Try this.HtmlEncode гарантирует, что текст правильно отображается в браузере и не интерпретируется браузером как HTML.

<asp:CheckBoxList ID="chklstreponse" runat="server"> </asp:CheckBoxList> 

    DataTable dtreponse = gq.GetRandom_Responses(Convert.ToInt32(idquest.Value)); 
    chkList.DataSource = dtreponse; 
    chkList.DataTextField = Server.HtmlEncode("libelle"); 
    chkList.DataValueField = "id"; 
    chkList.DataBind(); 
+0

Это не работает. –

Смежные вопросы