将数据表单元格的文本转换为超链接,然后将其添加回数据表
本文关键字:数据表 然后 添加 单元格 文本 转换 超链接 | 更新日期: 2023-09-27 17:49:14
我试图将单元格的文本转换为超链接,但我得到的结果如下:
System.Web.UI.WebControls.TableCell
代替www.google.ca
所以没有错误,它只是我期望的完全错误的文本。
这是我的代码
DataTable dt = new DataTable();
//code to populate dt, there's a column called "TEXT", which I would like to
//dynamically make into a hyperlink if the text has more than 250 characters
foreach (DataRow dr in dt.Rows){
if (dr["TEXT"].ToString().Length > 250){
HyperLink link = new HyperLink();
link.NavigateUrl = "www.google.ca";
link.Text = "www.google.ca";
TabelCell tc = new TableCell();
tc.Controls.Add(link);
dr["TEXT"] = tc;
}
}
我还尝试将超链接直接添加到数据列
dr["TEXT"] = link;
但我只是得到了相同的结果。
我将DataTable绑定到DataGrid
您的'foreach'代码需要为:
foreach (DataRow dr in dt.Rows){}
你忘了"。行"
在数据表单元格中得到System.Web.UI.WebControls.TableCell
的原因是,这是在TableCell
对象上调用ToString()
时得到的结果。
你不能像这样使用数据表来存储引用类型的数据。
您应该将导航url存储在一列中,将文本存储在另一列中,并在数据网格中使用HyperLinkColumn
将其显示为超链接。