使用<%= %>或<%# %>與RUNAT =服務器我有一個Web控制,看起來像這樣在ASP.NET
public class Foo : WebControl { [Bindable(true)] [Category("Default")] [DefaultValue("")] [Localizable(true)] public string Bar { get; set; } protected override void Render(HtmlTextWriter output) { output.WriteLine(Bar); } }
我想把這個三夏在我的aspx頁面像這樣:
<cc1:Foo Bar="<%= Fa.La.La %>/otherstuff" runat="server" />
(顯然這個代碼被簡化以顯示問題)
在我的Render方法中,變量Fa.La.La未被評估。這是作爲原始文本「<%= Fa.La.La%>」我如何評估它?
我不是特別的如何傳遞變量。如果變量可以被評估,如果他們被傳入<%#...%>,那很好。重點是我有一些服務器端變量,我想在之前/之前評估我的Render()方法被調用。
我唯一能想到的是使用正則表達式來獲取<%= ...%>的內容,並使用反射或其他東西,但必須有一種更優雅的方式來實現這一點。
這個問題與using server variables in a href <%= xx %> with runat=server非常相似,但它不完全相同,因爲沒有任何答案有用。
嘗試使用此/otherstuff' RUNAT = 「服務器」/>注單引號和雙引號區別。我希望它可以解決問題 –
Moons
2012-08-13 04:24:13