GridView中的条件语句,用于显示或隐藏HyperlinkField数据

时间:2013-12-27 22:44:17

标签: c# gridview data-binding

我的代码:

<asp:HyperLinkField Text="Static<br />Map" HeaderText=""               
           DataNavigateUrlFields="PWSNO,TAG_NO"                 
           Visible = '<%# Eval("Status").ToString() == "Inactive" ? false : true %>'                
            DataNavigateUrlFormatString="index.aspx?No={0}&tag={1}" 
            ItemStyle-HorizontalAlign="Center" Target="_blank" />

我要做的是,如果“Status”属性返回“Inactive”值,我不希望创建该列中的链接。

但是使用我现有的代码,我收到错误说明

  

错误数据绑定表达式仅在具有DataBinding事件的对象上受支持。 System.Web.UI.WebControls.HyperLinkField没有DataBinding事件。

1 个答案:

答案 0 :(得分:1)

您需要使用具有DataBinding事件的TemplateField

<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="">
    <asp:Hyperlink Text="Static<br />Map" Target="_blank"
     Visible = '<%# Eval("Status").ToString() == "Inactive" ? false : true %>'></asp:Hyperlink>
</asp:TemplateField>

您必须手动设置NavigateUrl