带有/ dynamic列的GridView - 显示html

时间:2012-10-02 16:44:01

标签: c# gridview datatable

我正在尝试显示列是动态的表格数据。我目前正在使用GridView w / AutoGenerateColumns设置为true。

一切都“有效”,但我的值中的任何html都显示为html字符串 - 而不是渲染的html。 IE:显示html以创建链接而不是显示链接。

或者可能有更好的方法来完成这项任务。

更多细节:我正在根据月份显示“销售预测”。“列”适用于各种产品 - 这些都是动态的。

因此,对于2012年11月的预测,我正在做以下事情;

我正在使用UserId,Name,3MonthProjection的列动态创建DataTable。然后为每个产品添加一列(通过循环)。因此,如果下个月 - 新产品可用 - 它将被添加到列表中。

然后我用每个销售代表的相应值填充数据表。如果销售代表没有为月/年或产品创建预测 - 只显示零。

现在 - 因为我的列是动态的 - 我想不出一种“精美”渲染网格的方法,除了w / AutoGenerateColumns = true

要减少不重要的列 - 我正在创建名称列,其中包含一个编辑链接,该链接格式化具有UserId,ForecastId(可能为null),Month,Year的值的链接。仅当用户具有编辑权限时才会生成此链接(管理员可以编辑所有用户 - 用户可以自行编辑)

列数据显示:

Dennis Welker <a href="javascript:dnnModal.show('http://mysite.com/SalesReps/tabid/83/ctl/forecast/mid/425/uid/8/fid/601/mo/9/yr/2012/Default.aspx?popUp=true',/*showReturn*/false,550,950,true,'')">Edit</a>

而不是渲染它:Dennis Welker编辑
(编辑是一个链接)

如果我没有让您感到困惑 - 您是否知道如何将数据显示为链接?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用Server.HtmlEncode方法对链接进行编码

链接:http://msdn.microsoft.com/fr-fr/library/vstudio/w3te6wfz.aspx

注意:您在数据上应用此功能