相关疑难解决方法(0)

在Framework 3.5中设置具有服务器标记<%=%>的可见属性

我一直在使用服务器标签(如<%= whatever%>)在.NET Framework 4项目中工作,以设置runat ="server"控件的可见性,如下所示:

  <div id="MyId" runat="server" visible="<%=MyVisiblePropertyOnCodeBehind %>" >
    Content
  </div>
Run Code Online (Sandbox Code Playgroud)

这适用于框架4,但现在尝试在Framework 3.5项目上使用它似乎不起作用.这是Framework 4的唯一功能吗?是否有最酷的(和.aspx方面)替代方案来设置代码隐藏的可见性?我正在使用丑陋的:

    MiId.Visible = MyVisiblePropertyOnCodeBehind
Run Code Online (Sandbox Code Playgroud)

提前致谢,

汤姆

[已编辑]解决方案:

感谢您的评论让我了解我的问题和解决方案!

不止一件事是我的错.

在VS2010项目中,我们使用<%#而不是<%=

另外,我没有注意到在VS2010项目中我们使用的页面不是来自"Page",而是来自CustomPage类,它自动进行绑定,没有我注意到它,这让我认为这是一个框架4.0仅限功能.

正如您在此处所述,如果您有以下标记:

  <div id="MyId" runat="server" visible="<%# MyVisiblePropertyOnCodeBehind %>" >
    Content
  </div>
Run Code Online (Sandbox Code Playgroud)

你可以使它工作,将以下内容添加到代码隐藏:

    public bool  MyVisiblePropertyOnCodeBehind = true;
    protected void Page_Load(object sender, EventArgs e) {
        DataBind();
        // Or if you want only for one control, MyId.DataBind();             
    }
Run Code Online (Sandbox Code Playgroud)

在我看来,这个DataBind()可以降低应用程序的性能.你知道多少钱吗?这可以被理解为在大项目中使用的"专业"技术,还是你认为应该避免?

我喜欢它在单个视图中使标记可读且易于理解的方式,但我不想因为这样而对慢代码感到内疚.

.net asp.net visible servertag

54
推荐指数
1
解决办法
8万
查看次数

标签 统计

.net ×1

asp.net ×1

servertag ×1

visible ×1