使用 AutoGenerateColumns 将超链接绑定到 GridView
我有一个数据表,其中包含在运行时动态生成的列。此 DataTable 绑定到 AutoGenerateColumns 设置为 true 的 GridView。我遇到了一个问题,因为 DataTable 中的某些数据是 HyperLink 对象,因此它不会显示表中的实际链接,而是显示“System.Web.UI.WebControls.HyperLink”。
通常,我只会在 GridView 中使用 HyperLinkField,但由于 GridView 的列是自动生成的,我不确定如何执行此操作。有什么想法吗?
I have a DataTable which has columns that are generated dynamically at runtime. This DataTable is bound to a GridView that has AutoGenerateColumns set to true. I've run into a problem with this since some of the data in the DataTable are HyperLink objects, so instead of displaying the actual link in the table, it displays "System.Web.UI.WebControls.HyperLink".
Normally, I would just use a HyperLinkField in my GridView, but since the GridView's columns are generated automatically, I'm not sure how to do this. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以动态添加新列,您只需要隐藏自动生成的列即可。
对于此解决方案,您可以将超链接存储在 2 列中 - 1 列用于链接,1 列用于您想要显示的文本,或者如果您想要显示通用内容(例如“单击此处”),您可以只存储链接(例如“http ://example.com.au/Default.aspx”)。
You can add a new column dynamically, you'll just have to hide the automatically generated columns also.
For this solution you can either store the hyperlink in 2 columns - 1 for the link and 1 for the text you want displayed, or if you want something generic displayed (like 'Click Here') you can just store the link (eg "http://example.com.au/Default.aspx").