将动态变量传递给UserControl属性

时间:2012-02-23 15:56:07

标签: asp.net variables user-controls attributes

我正在创建一个UserControl,我正在向它传递一个变量。

如果我这样做,它的工作正常:

<uc:TestControl ID="testControl" runat="server" Variable="test"></uc:TestControl>

但是我想将动态变量传递给控件,​​如下所示:

<uc:TestControl ID="testControl" runat="server" Variable="<%=dynamicVariable%>"></uc:TestControl>

但不幸的是,这不起作用,我知道我可以在Page_Load上分配它,但我不喜欢这样。

所以我想知道它是否可能。是否以任何方式将动态变量分配给我想要的属性?或者我是否需要在Page_Load中执行此操作?

任何反馈都将不胜感激! 谢谢!

1 个答案:

答案 0 :(得分:2)

<%=语法不适用于标记为runat="server"的控件。尝试使用数据绑定语法

Variable="<%#dynamicVariable%>"

然后根据此databind

在用户控件上调用SO question

修改

对于数据库,我认为这是一个直接的

testControl.DataBind()
ASP.Net 3.5及更高版本支持