2010-07-26 39 views
0

我在插入一個字符串到下面的標記問題:問題注射使用服務器端的變量<%#

<tr id="rowBulkOptions" style='<%# sBulkOptionsRowStyle %>'> 

不要問我爲什麼使用表:)

sBulkOptionsRowStyle是aspx.vb文件中的公共字符串。

貌似我能得到這個渲染的唯一辦法就是把

Page.DataBind() 

在Page_Load,Page_PreRender等等。然而,這引起了我的問題,因爲的Page.DataBind()結合上的所有控制頁。

我可以使用<%=但是代碼的另一部分插入控件到頁面中,顯然你不能使用<%=並插入控件。

有沒有一種方法可以說'看,請把sBulkOptionsRowStyle放入頁面! ?

謝謝。

回答

1

<%#標籤用於綁定到重複控件時,我認爲這不是你在做什麼?

由於您正在動態修改控件,因此如您所述,您也不能使用<%=

我的建議是將標記runat="server"添加到你的tr,然後將該變量賦值給代碼頁面加載/初始化中的控件的Style屬性。

例如

<tr id="rowBulkOptions" runat="server"> 

而且在後面的代碼

rowBulkOptions.Attributes["Style"] = sBulkOptionsRowStyle; 
+0

好了現在我覺得超級愚蠢!我確信我無法給標籤的runat =「server」屬性。由於這種錯誤的信念,我花了最後3天的時間試圖做各種瘋狂的變通辦法!謝謝:) – 2010-07-26 10:48:50

+0

如果你把'runat =「server」'變成'System.Web.UI.HtmlControls.HtmlTableRow'。還有一點需要注意的是,即使它不在HtmlControls中,您也可以將任何html控件聲明爲「HtmlGenericControl」。 – 2010-07-26 11:06:21