2012-02-23 71 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