我想从代码中获取属性值

Ash*_*OoO 10 asp.net

我有一个案例,我需要在aspx页面中为asp标签设置Text属性,而不是从后面的代码.更确切地说,我需要在aspx页面中为asp控件设置一个值,并且该值由后面相同页面代码中的属性设置.

所以我需要使用表达式来做到这一点:

<asp:Label Text="<%= MyProperty %>" ..../>
Run Code Online (Sandbox Code Playgroud)

我用:

<%= MyProperty %> doesn't work.
<%# MyProperty %> doesn't also.
Run Code Online (Sandbox Code Playgroud)

arc*_*hil 25

Default.aspx.cs

public partial class _Default : System.Web.UI.Page
{
    public string CustomTitle = "This Is Title";

    protected void Page_Load(object sender, EventArgs e)
    {
        Page.DataBind();
    }
}
Run Code Online (Sandbox Code Playgroud)

Default.aspx的

<asp:Label Text='<%#CustomTitle %>' runat="server" />
Run Code Online (Sandbox Code Playgroud)


Hei*_*nzi 12

您必须以不同方式处理常规HTML和WebControl:


常规HTML:

使用<%= ... %>就足够了:

<span><%= MyProperty %></span>
Run Code Online (Sandbox Code Playgroud)

WebControls(以<asp:...>开头的东西):

<asp:Label Text='<%# MyProperty %>' />
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您还必须在代码隐藏中调用Me.DataBind()(VB)或this.DataBind();(C#),因为<%# ... %>它们是数据绑定表达式.


Hea*_*ota 5

Page.DataBind();
Run Code Online (Sandbox Code Playgroud)

你在代码中调用这个吗?它将代码中设置的所有变量绑定到您的页面。