加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么不能通过在aspx文件中调用方法来设置asp:Label Tex

发布时间:2020-12-15 03:57:58 所属栏目:百科 来源:网络整理
导读:有人可以向我解释一下: 我有一个标签,我想通过在aspx文件中调用一个方法来设置Text属性.如果我将属性设置在后面,但是我真的想在aspx文件中设置此属性,它的工作正常. 我已经尝试了几件事情,但是我期望的工作是这样的: asp:Label ID="Label1" runat="server"
有人可以向我解释一下:

我有一个标签,我想通过在aspx文件中调用一个方法来设置Text属性.如果我将属性设置在后面,但是我真的想在aspx文件中设置此属性,它的工作正常.

我已经尝试了几件事情,但是我期望的工作是这样的:

<asp:Label ID="Label1" runat="server" Text=<%# GetMyText("LabelText") %> />

在这样做时,我没有收到错误,但是我的方法从未被调用,并且Text属性保留为空.

在aspx中直接在aspx中不使用资源或使用硬编码的值来设置属性值是不可能的吗?

更新:我的第一个尝试是:

<asp:Label ID="Label1" runat="server" Text=<%= GetMyText("LabelText") %> />

但是会导致以下错误:

Server tags cannot contain <% … %> constructs.

解决方法

语法=<%#...%>是用于在调用DataBind方法时将值绑定到控件属性的数据绑定语法.

您需要调用DataBind – Page.DataBind绑定页面上的所有控件,或者Label1.DataBind()来绑定标签.例如.将以下内容添加到您的Page_Load事件处理程序中:

if (!IsPostBack)
    {
        this.DataBind();
        // ... or Label1.DataBind() if you only want to databind the label
    }

使用Text =’<%= GetMyText(“LabelText”)%>‘正如其他人所提出的将不会奏效,因为你会发现.这种语法从传统的ASP继承.它可以在某些情况下在ASP.NET中用于在静态HTML中插入动态值,但不能用于设置服务器控件的属性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读