テンプレートフィールドにハイパーリンクがあります。ハイパーリンクの値に基づいて、ハイパーリンクを有効または無効にします。ハイパーリンクを無効にしたい場合Id
はどうでしょうか。"ABC"
以下のコードを試しましたが、うまくいきませんでした。
Enabled='<%# Convert.ToString(Eval("Id"))!= "ABC" ? true: false %>'
私は背後のコードで次のことを試しました:
protected void gridResult_RowDataBound(object sender, GridViewRowEventArgs e) {
if (e.Row.RowType == DataControlRowType.DataRow)
{
HyperLink status = (HyperLink)e.Row.Cells[2].Controls[0];
if (status != null && status.Text == "ABC") {
status.Enabled = false;
}
}
}
しかし、それはnull
毎回戻ってきています。
<asp:TemplateField HeaderText="Id">
<ItemTemplate>
<% if ( WebApp.Common.Auth.Admin() ) { %>
<a href="../../Edit/Default.aspx?<%= WebApp.Edit.Default.P_ID %>=<%# DataBinder.Eval(Container.DataItem, "Id") %>&r=<%= buildPostBackPortion() %>"><%# DataBinder.Eval(Container.DataItem, "Id") %> Enabled='<%# Convert.ToString(Eval("Id"))!= "ABC" ? true: false %>'
</a>
<% } else { %>
<%# DataBinder.Eval(Container.DataItem, "Id") %>
<% } %>
</ItemTemplate>
</asp:TemplateField>