有人可以向我解释一下:
我有一个标签,我希望能够通过调用aspx文件中的方法来设置Text属性.如果我在代码中设置属性,它工作正常,但我真的想在aspx文件中设置此属性.
我尝试了几件事,但我期望的工作是:
<asp:Label ID="Label1" runat="server" Text=<%# GetMyText("LabelText") %> />
Run Code Online (Sandbox Code Playgroud)
这样做时我没有错误,但我的方法永远不会调用,Text属性保持为空.
是否无法在不使用资源或使用硬编码值的情况下直接在aspx中将属性值设置为服务器端控件?
更新:我的第一次尝试是:
<asp:Label ID="Label1" runat="server" Text=<%= GetMyText("LabelText") %> />
Run Code Online (Sandbox Code Playgroud)
但是这会导致以下错误:
服务器标记不能包含<%...%>结构.
Joe*_*Joe 12
syntax = <%#...%>是数据绑定语法,用于在调用DataBind方法时将值绑定到控件属性.
您需要调用DataBind - 要么Page.DataBind绑定页面上的所有控件,要么Label1.DataBind()来绑定标签.例如,将以下内容添加到Page_Load事件处理程序:
if (!IsPostBack)
{
this.DataBind();
// ... or Label1.DataBind() if you only want to databind the label
}
Run Code Online (Sandbox Code Playgroud)
使用Text ='<%= GetMyText("LabelText")%>'正如其他人提出的那样,你将无法发现它们.此语法继承自经典ASP.它可以在ASP.NET的某些情况下用于在静态HTML中插入动态值,但不能用于设置服务器控件的属性.
| 归档时间: |
|
| 查看次数: |
11076 次 |
| 最近记录: |