当前位置:编程学习 > C#/ASP.NET >>

如何根据需要显示datagrid的HyperLink?

我在datagrid中添加了HyperLink,但是要根据具体情况确定是否显示,我这样处理出错了
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
  string lb = e.Item.Cells[5].Text;
  if (lb == "aa" || lb == "bb" )
  {
    ((System.Web.UI.WebControls.HyperLink)e.Item.Cells[15].FindControl("HyperLink")).Visible = true;
  }
  else
  {
    ((System.Web.UI.WebControls.HyperLink)e.Item.Cells[15].FindControl("HyperLink")).Visible = false;
  }
}
错误提示:
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
--------------------编程问答-------------------- 加这个 if (e.Row.RowType == DataControlRowType.DataRow) --------------------编程问答-------------------- 不行啊 --------------------编程问答-------------------- .....
<ItemTemplate>
<asp:HyperLink id="HyperLink" runat="server" Visible='<%#Eval("鸟字段").ToString()=="aa"%>'>鸟</asp:HyperLink>
</ItemTemplate>
..... --------------------编程问答-------------------- 前台是这样:
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink Text="检查信息" NavigateUrl='<%# myfunc2(DataBinder.Eval(Container.DataItem,"dwdm"),DataBinder.Eval(Container.DataItem,"lb"),DataBinder.Eval(Container.DataItem,"zbh"))%> ' Runat="server" Target="_self" ID="Hyperlink1" ForeColor="#9933ff">
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn> --------------------编程问答-------------------- Visible=<%# GetVisible(DataBinder.Eval(Container.DataItem,"zbh"))%>
根据GetVisible返回true,false
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,