相关疑难解决方法(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万
查看次数

在非ASP元素中使用代码服务器端脚本分隔符/ ASP.NET内联表达式

我收到此错误消息:

无法从其"可见"属性的字符串表示形式<%:false%>创建"System.Boolean"类型的对象.

当我尝试在我的ASP.net网站中运行此代码时:

<a runat="server" visible='<%: false %>' href="~/" >Home</a>
Run Code Online (Sandbox Code Playgroud)

有语法错误吗?false应该可以通过任何方法替换:

<asp:Panel runat="server" Visible='<%: GetTrueOrFalse() %>'>Home</a>
Run Code Online (Sandbox Code Playgroud)

asp.net

5
推荐指数
0
解决办法
334
查看次数

如何在标记中"绑定"标签的Text属性

基本上我想找到一种ddo的方法:

<asp:Label ID="lID" runat="server" AssociatedControlID="txtId" Text="<%# MyProperty %>"></asp:Label>
Run Code Online (Sandbox Code Playgroud)

我知道我可以从后面的代码设置它(写lId.Text = MyProperty),但我更喜欢在标记中进行,我似乎无法找到解决方案.(MyProperty是一个字符串属性)欢呼

c# asp.net

3
推荐指数
2
解决办法
3万
查看次数

标签 统计

asp.net ×3

.net ×1

c# ×1

servertag ×1

visible ×1