我已经在.NET Framework 4的项目中使用服务器标签,如<%=无论%>设置的RUNAT =“服务器”控制的知名度,像下面的工作了:设置Visible属性与服务器标签<%= %> 3.5
<div id="MyId" runat="server" visible="<%=MyVisiblePropertyOnCodeBehind %>" >
Content
</div>
这对框架4有效,但现在试图在Framework 3.5项目上使用它似乎不起作用。这是仅限于Framework 4的功能吗?有没有最酷的(和.aspx方)替代设置从代码隐藏的可见性?我使用的是丑陋的:提前
MiId.Visible = MyVisiblePropertyOnCodeBehind
感谢,
汤姆
将帖子SOLUTION:
感谢您的意见,这让我明白我的问题和解!
这是我的错不止一件事。
在VS2010项目中,我们使用的替代<%=
而且<%#,我没有注意到的是,在VS2010项目中,我们使用的页面继承不是从“页面”,但是从CustomPage类,这是自动进行绑定,没有我注意到,这让我认为这是一个Framework 4.0的唯一功能。
照你说的这里,如果你有以下标记:
<div id="MyId" runat="server" visible="<%# MyVisiblePropertyOnCodeBehind %>" >
Content
</div>
你可以把它的工作,加入以下代码隐藏:
public bool MyVisiblePropertyOnCodeBehind = true;
protected void Page_Load(object sender, EventArgs e) {
DataBind();
// Or if you want only for one control, MyId.DataBind();
}
当我读到这的DataBind( )可能会降低应用程序的性能。你有多少的想法?这是否可以理解为用于大型项目的“专业”技术,或者您认为应该避免这种技术?
我喜欢它在单一视图中使标记易读并易于理解的方式,但是我不想因为这样而对慢代码感到内疚。
'MyVisiblePropertyOnCodeBehind'属性的签名是什么? – PraveenVenu 2012-03-07 07:01:43
我其实不认为把它放在代码背后是不好的。如果您想提醒控件不一定可见,请在代码前面设置'visible =“false”'作为默认值。 – mac9416 2017-09-19 14:20:43