最近做一个项目,因为数据源中的表的字段是动态生成的,所以并不能事先在代码中设置模版列。只能使用AutoGenerateColumns="true" 了,这样就带来一个问体,那就是,我的字段值中带有 html代码,以用来在显示的时候控制格式。以前可以设置模版列的时候就好办了,直接设置模版列的 HtmlEncode="False"就可以了。但是现在就没有办法设置了。找了好多办法也不能实现。就暂时放下了。继续作别的了。晚上回家,忽然想起来一种变通的方法,于是试了一下。果然好用,分享出来。原理很简单我就不说了。看看代码就知道了。
代码如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TableCellCollection cells = e.Row.Cells;
foreach (TableCell cell in cells)
{
cell.Text = Server.HtmlDecode(cell.Text);
}
}
}
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TableCellCollection cells = e.Row.Cells;
foreach (TableCell cell in cells)
{
cell.Text = Server.HtmlDecode(cell.Text);
}
}
}
问题解决,O了!~ ~