如何在GridView中显示数据库中的编码值Asp.Net?

时间:2018-01-26 15:21:18

标签: c# asp.net gridview

我有一个gridview,它显示数据库表中的所有数据。但是,由于我之前已对数据库值进行了编码,因此GridView中显示的值将被编码。如何解码值以在GridView中显示它们?

以下是我用于将数据库绑定到Gridview的代码:

private void BindGrid()
{
    string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand("select bookingName from addCart"))
        {
            using (SqlDataAdapter sda = new SqlDataAdapter())
            {
                cmd.Connection = con;
                sda.SelectCommand = cmd;
                using (DataTable dt = new DataTable())
                {
                    sda.Fill(dt);
                    GridView1.DataSource = dt;
                    GridView1.DataBind();
                }
            }
        }
    }
}


protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        this.BindGrid();
    }
}

上面代码的哪些部分可以添加HttpUtility.HtmlDecode方法来显示解码后的数据库?GridView?

2 个答案:

答案 0 :(得分:0)

如果您使用TemplateField,可以像这样对其进行解码:

<asp:GridView ID="GridView1" runat="server">
    <Columns>

        <asp:TemplateField HeaderText="Decoded HTML">
            <ItemTemplate>

                <%# HttpUtility.HtmlDecode(Eval("column").ToString()) %>

            </ItemTemplate>
        </asp:TemplateField>

    </Columns>
</asp:GridView>

答案 1 :(得分:0)

感谢@VDWWD,我能够以解码的形式显示我的数据库:

<ItemTemplate>
<asp:Label ID="Label1" runat="server" 
Text='<%# HttpUtility.HtmlDecode(Eval("bookingName").ToString()) %>'>
</asp:Label>        
</ItemTemplate>