2009-12-02 53 views
1

是否有表达Asp.net,从值直接分配属性?

<% objControl.ObjProp=ObjVar; %> 
<my:Control ID="objControl" runat="server" /> 

由于这样的事情,在一行中的方法吗?而不通过ObjVar作为一个字符串?

<my:Control ID="objControl" runat="server" ObjProp=ObjVar /> 

回答

0

除非你在一个数据绑定上下文,否则没有简单的方法来做到这一点。如果它是一个数据绑定上下文(就像在一个中继器/ gridview中一样),你可以简单地去ObjProp ='<%#ObjVar%>',但是在这个上下文之外,你不能很好地内联它。

0

使用它像

<my:Control ID="objControl" runat="server" ObjProp="<%# ObjVar %>" /> 
0

正如fyjham提到,您需要使用#<%%>语法来做到这一点在数据绑定上下文。如果你试图动态设置属性,那么你的另一种选择是将它设置在服务器端父代的方法后面的onload代码中。

0

什么是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")%> />