Asp.net aspx可见属性
我正在做下面的代码,但我仍然能够看到tr,它并没有变得不可见。我也试过把它用作财产……请帮忙Asp.net aspx可见属性,asp.net,Asp.net,我正在做下面的代码,但我仍然能够看到tr,它并没有变得不可见。我也试过把它用作财产……请帮忙 public bool ControlEnabled() {return false; } <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <asp:MultiView ID="mv" runat="server"> <asp:View ID=
public bool ControlEnabled() {return false; }
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:MultiView ID="mv" runat="server">
<asp:View ID="view1" runat="server">
<table class="homediv">
<tr id="RAggMkttr" runat="server" Visible='<%# ControlEnabled() %>' >
---
public bool Test { get { return true; } }
<tr id="RAggMkttr" runat="server" Visible='<%# Test %>' >
public bool ControlEnabled(){return false;}
---
公共布尔测试{get{return true;}}
由于它已经是一个服务器端控件,您应该能够简单地在代码隐藏上设置Visible属性,如下所示:
RAgMkttr.Visible= ControlEnabled();
更新
为了使代码块在表中工作,您需要从tr
元素中删除runat=“server”
属性,而是执行以下操作:
<%if (GetControlEnabled())
{%>
<tr id="RAggMkttr" >
....
</tr>
<%} %>
....
trapkttr.DataBind()
修复了这个问题我在页面中有很多tr,可以使它们可见或不可见…因此我不想在aspx.cs页面中编写代码…所以我尝试在aspx页面中执行,然后尝试执行,而不是它,如果我使用这种方式,它会给我错误…“无法创建类型为”System.Boolean“的对象,从其字符串表示法”为“可见”属性。然后执行@user1546173我刚刚提供了我答案的更新。如果您想调用GetControlEnabled
方法,恐怕这是唯一可以让它工作的方法。我以为您根本不想从代码隐藏中执行此操作。。。。那有什么意义呢?