ItemTemplate在特定条件下不显示链接
本文关键字:显示 链接 条件下 ItemTemplate | 更新日期: 2023-09-27 18:28:41
我的网格视图中有以下内容:
<ItemTemplate>
<asp:LinkButton ID="lnkRemediation" runat="server" CommandName="Remediation" CommandArgument='<%#Eval("AlertId")%>'> REMEDY
</asp:LinkButton>
</ItemTemplate>
我喜欢只在名为WorkOrder的字段中有值的情况下显示显示REMEDY的文本。
不知道该怎么做。
替换为:
<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>
我建议在代码隐藏文件中使用RowDataBound事件。它将使您能够自定义每一行的数据和属性。在这里,您可以针对LinkButton添加(或删除)所需的文本,如果需要,还可以根据您的情况更改CommandArgument值。
您可以使用此
<asp:LinkButton ID="lnkRemediation" runat="server"
Visible='<%# Eval("WorkOrder") != null %>'...>
REMEDY
</asp:LinkButton>
您的最佳选择是在DataSource 上创建另一个属性
public string RemediationText
{
get
{
return WorkOrder != null ? "REMEDY" : null;
}
}
然后你可以将其数据绑定到LinkButton 的文本
<asp:LinkButton runat="server" Text='<%#Eval("RemediationText")%>' CommandName="Remediation" CommandArgument='<%#Eval("AlertId")%>'/>