2016-09-08 12 views
0

私はその結果 enter image description hereのASP CheckBoxListの項目が

に持っているのASPのCheckBoxListを使用し、正しいテキストのレンダリングしかし、CheckBoxListの項目として、htmlタグを使用していない、ASPは、HTMLとして解釈されます。これは簡単なテキストのために働く。ここに私の結果があります。

enter image description here

、ここで私はあなたがRadioButtonListの中の値をHtmlEncodeする必要があると思う宣言と結合方法

<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

です。

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

しかし、あなたは、あなたのいずれかがデータテーブルまたはループのソース内のすべての行を、それを行うと、それらをエンコードする必要があり、直接データテーブルを結合しています。

 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

はいそれは私のために働く。私はあなたの答えにいくつかのコードを追加しました –

0

これを試してください.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

それは動作しません。 –

関連する問題