我正在尝试更改我的一个列以显示图片而不是文本。目前所有的文本都是从 SQL 中收集的。
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRow dr = ((DataRowView)e.Row.DataItem).Row;
HyperLink EditLink = (HyperLink)e.Row.FindControl("EditLink");
EditLink.NavigateUrl = "javascript:ShowDialogTest('2','" + dr[0].ToString() + "')";
HyperLink DeleteLink = (HyperLink)e.Row.FindControl("DeleteLink");
DeleteLink.NavigateUrl = "javascript:ShowDialogTest('3','" + dr[0].ToString() + "')";
System.Web.UI.WebControls.Image i = (System.Web.UI.WebControls.Image)e.Row.FindControl("Overall Status");
i.ImageUrl = "url";
}
所以 EditLink 和 DeleteLink 在 ASP 中并且这些工作。[Overall Status] 是 SQL 中的一个字段,我无法将其更改为图像。
我认为这可能是因为它尚未绑定数据所以找不到该字段,但我显示了 FindControls 的计数 = SQL 结果 + 2 个字段。
接下来我认为可能是我的 ..FindControl(THISNAME) 错误。但是我不知道如何找到控件的名称。它必须是 e.Row.Controls[index].Name (我知道索引)之类的东西,但我不知道要采用什么属性。
谢谢,