【问题标题】:GridView w/ dynamic columns - displaying html带有动态列的 GridView - 显示 html
【发布时间】:2012-09-23 13:29:09
【问题描述】:

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

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

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

更多细节:我正在显示基于月份的“销售预测”。“列”适用于各种产品——它们是动态的。

因此,对于 2012 年 11 月的预测,我正在执行以下操作;

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

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

现在 - 因为我的列是动态的 - 除了 w/ AutoGenerateColumns=true 之外,我想不出一种“漂亮”呈现网格的方法

为了减少不重要的列 - 我正在制作名称列,其中包括一个编辑链接,该链接格式化一个带有 UserId、ForecastId(可能为空)、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 Edit
(其中 Edit 是一个链接)

如果我没有让您感到困惑 - 您对如何将数据显示为链接有任何想法吗?谢谢!

【问题讨论】:

  • 如果您使用的是 GridView,为什么不添加带有 HyperLink 或 Literal 标签的模板列?
  • 你用什么代码输出列?
  • 这个答案可能对你有帮助stackoverflow.com/a/2168663/1682148
  • 感谢@th1rdey3 - 成功了 - 以及我以前从未做过的事情。就像你刚刚给了我我的第一个无轴钻!

标签: c# gridview datatable


【解决方案1】:

您可以使用Server.HtmlEncode 方法来编码您的链接

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

注意:您将此功能应用于您的数据

【讨论】:

  • 感谢 Aghilas - 在数据行列中设置我的数据时,我尝试同时执行 HtmlEncode 和 HtmlDecode - 但结果是一样的......就像 GridView 或 DataTable 也在自动转换它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-09
相关资源
最近更新 更多