这段代码有什么错误,将页面上的服务器端变量写入asp.net服务器控件的属性

本文关键字:变量 服务器端 属性 服务器控件 net asp 代码 段代码 错误 什么 | 更新日期: 2023-09-27 18:08:56

ASPX页面

<asp:Label ID="lbk" runat="server" Text='<%= _imgPath %>' />

背后的代码

 protected void Page_Load(object sender, EventArgs e)
    {
        _imgPath = "MyName";
    }

我的期望是它应该提供

<span id="lbk">MyName</span>

但它正在渲染

<span id="lbk"><%= _imgPath %></span>

这是正确的行为吗?

这段代码有什么错误,将页面上的服务器端变量写入asp.net服务器控件的属性

试试这个:

<asp:Label ID="lbk" runat="server" Text='<%# _imgPath %>' />
protected void Page_Load(object sender, EventArgs e)
{
    lbk.Text = "MyName";
}

你不需要_imgPath

对于设置标签文本这样的简单操作,请在代码后面使用Page_Load事件:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        lbk.Text = "MyName";
    }
}

如果你想在页面上使用脚本,你可以这样做:

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            lbk.Text = "MyName";
        }
    }
</script>