我有一个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?
答案 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>