Asp.net,直接从值分配属性?

时间:2009-12-02 12:26:28

标签: asp.net

有没有办法表达

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

就像这样,在一条线上?并且没有将ObjVar作为字符串传递?

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

4 个答案:

答案 0 :(得分:0)

除非您处于数据绑定环境中,否则没有简单的方法可以做到这一点。如果它是数据绑定上下文(如在转发器/网格视图中),您可以简单地转到ObjProp ='&lt;%#ObjVar%&gt;',但在该上下文之外,您不能不幸地内联。

答案 1 :(得分:0)

一样使用它
<my:Control ID="objControl" runat="server" ObjProp="<%# ObjVar %>" />

答案 2 :(得分:0)

正如fyjham所提到的,你需要在&lt;%#%&gt;的数据绑定上下文中执行此操作。句法。如果您尝试动态设置属性,那么您的另一个选择是将其设置在服务器端父级的onload代码隐藏方法中。

答案 3 :(得分: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")%> />