如何根据需要显示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