2012-02-23 76 views
3

我正在创建一个UserControl,并将一个变量传递给它。将动态变量传递给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中做到这一点?

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

回答

2

<%=语法不与标记为runat="server"。尝试控制使用数据绑定语法

Variable="<%#dynamicVariable%>" 
工作

然后在用户控制按本SO question

EDIT主叫databind

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

testControl.DataBind() 

支持ASP.Net 3.5及更高版本。

+0

嗯,我明白了,我该如何绑定它? – raRaRa 2012-02-23 16:42:04

+0

这不就是说我需要将Page_Load中的控件绑定DataBind吗?这基本上是我想要避免的:/ – raRaRa 2012-02-23 16:47:56

+0

啊 - 是的。你得到你想要的语法,但是......你进入了服务器端。我认为这和你要接受TBH是一样的。其他人可能知道更多 – 2012-02-23 16:55:17

相关问题