0

グリッドビューには次のものがあります。

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

WorkOrder というフィールドに値がある場合にのみ、REMEDY というテキストを表示したいと思います。

これを行う方法がわからない。

4

4 に答える 4

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 に答える
0

コード ビハインド ファイルでRowDataBoundイベントを使用することをお勧めします。各行のデータとプロパティをカスタマイズできます。ここで、LinkBut​​ton をターゲットにして、目的のテキストを追加 (または削除) したり、状況に応じて必要に応じて CommandArgument の値を変更したりできます。

于 2013-08-21T18:04:12.213 に答える
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

これを使用できます

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