Asp.net,从值直接分配属性?
问题描述:
是否有表达Asp.net,从值直接分配属性?
<% objControl.ObjProp=ObjVar; %>
<my:Control ID="objControl" runat="server" />
由于这样的事情,在一行中的方法吗?而不通过ObjVar作为一个字符串?
<my:Control ID="objControl" runat="server" ObjProp=ObjVar />
答
除非你在一个数据绑定上下文,否则没有简单的方法来做到这一点。如果它是一个数据绑定上下文(就像在一个中继器/ gridview中一样),你可以简单地去ObjProp ='<%#ObjVar%>',但是在这个上下文之外,你不能很好地内联它。
答
使用它像
<my:Control ID="objControl" runat="server" ObjProp="<%# ObjVar %>" />
答
正如fyjham提到,您需要使用#<%%>语法来做到这一点在数据绑定上下文。如果你试图动态设置属性,那么你的另一种选择是将它设置在服务器端父代的方法后面的onload代码中。
答
什么是ObjVar?如果它是一个静态值,你可以将属性标记添加到像这样的控制元件....
<my:Control ID="objControl" runat="server" MyCustomBooleanProperty="true" />
如果它包含控件的页面的成员变量,那么我会在这样做后面的代码...
protected Page_Init()
{
this.objControl.ObjProp = this.ObjVar;
}
如果你正在数据绑定控件,那么别人在您使用数据绑定背景下是正确的。
<my:Control ID="objControl" runat="server" ObjProp=<%#Eval("ObjVar")%> />