asp checkboxlist项目无法呈现正确的文本

时间:2016-09-08 17:27:10

标签: asp.net checkboxlist

我使用asp checkboxlist来获得该结果 enter image description here

但是使用html标签作为checkboxlist的项目,asp将其解释为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();

2 个答案:

答案 0 :(得分:0)

我认为你需要HtmlEncode RadioButtonList中的值。

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

但是您直接绑定数据表,您必须在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();

答案 1 :(得分: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();