0

我的gridview中有以下内容:

        <ItemTemplate>
        <asp:LinkButton ID="lnkRemediation" runat="server" CommandName="Remediation" CommandArgument='<%#Eval("AlertId")%>'> REMEDY
        </asp:LinkButton>
        </ItemTemplate>

我喜欢仅在名为 WorkOrder 的字段中有值时才显示显示 REMEDY 的文本。

不知道该怎么做。

4

4 回答 4

0

我建议在您的代码隐藏文件中使用RowDataBound事件。它将使您能够自定义每行的数据和属性。在这里,您可以定位您的 LinkBut​​ton 并添加(或删除)所需的文本,还可以根据您的情况更改 CommandArgument 值。

于 2013-08-21T18:04:12.213 回答
0

你可以用这个

<asp:LinkButton ID="lnkRemediation" runat="server" 
  Visible='<%# Eval("WorkOrder") != null %>'...>
   REMEDY
</asp:LinkButton>
于 2013-08-21T18:05:35.863 回答
0

替换为:

<ItemTemplate>
   <asp:LinkButton ID="lnkRemediation" runat="server" CausesValidation="False" 
      CommandArgument='<%# Eval("AlertId") %>' CommandName="Remediation" 
      Text="Ready" Visible='<%# !string.IsNullOrEmpty(Eval("WorkOrder").ToString()) %>'>
   </asp:LinkButton>
</ItemTemplate>
于 2013-08-21T19:30:01.160 回答
0

最好的选择是在 DataSource 上创建另一个属性

public string RemediationText
{
    get
    {
        return WorkOrder != null ? "REMEDY" : null;
    }
}

然后您可以将其数据绑定到 LinkBut​​ton 的文本

<asp:LinkButton runat="server" Text='<%#Eval("RemediationText")%>' CommandName="Remediation" CommandArgument='<%#Eval("AlertId")%>'/>
于 2013-08-21T18:42:01.423 回答