我试图将单元格的文本转换为超链接,但我得到的结果如下。
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;
}
}
我还尝试将HyperLink直接添加到DataColumn
dr["TEXT"] = link;
但我得到了同样的结果。
我将DataTable绑定到DataGrid
答案 0 :(得分:0)
你'foreach'代码必须是:
foreach (DataRow dr in dt.Rows){}
你忘了“.Rows”
答案 1 :(得分:0)
您在数据表格单元格中获得System.Web.UI.WebControls.TableCell
的原因是,这是您在ToString()
对象上致电TableCell
时获得的结果。
您无法使用数据表来存储此类参考类型数据
您应该将导航网址存储在一列中,将文本存储在另一列中,并使用数据网格中的HyperLinkColumn
将其显示为HyperLink。