2009-08-19 40 views
0

我在母版頁中使用了Substitution控件,並且想要在替換中渲染用戶控件內容(與我的網站的登錄區域有關) 。 好像我必須有一個請求頁面的引用,以便它可以呈現控件。但是我需要在母版頁中呈現控件,因爲它在我的網站中的多個頁面上共享。什麼是實現這個目標的指導方針?在母版頁代碼隱藏中渲染ASP.NET控件

韓國社交協會

+0

我能夠加載用戶控件,但ASP.NET抱怨,對於狀態的信息無效或損壞。 我用這種方式加載了用戶控件: Page pageHolder = new Page(); UserControl viewControl =(UserControl)pageHolder.LoadControl(「MyControl.ascx」); pageHolder.Controls.Add(viewControl); StringWriter輸出= new StringWriter(); HttpContext.Current.Server.Execute(pageHolder,output,false); return output.ToString(); – gsb 2009-08-19 18:09:37

+0

頁面提供後,不會自動呈現頁面渲染嗎?我不確定你爲什麼首先渲染它。另外,如果你在用戶控件中有表單控件,但是它周圍也沒有'

',它會抱怨無效狀態。 – 2009-08-19 20:29:19

回答

0

所以要呈現從母版的用戶控件代碼隱藏,並將其添加到一個替代這也是在母版頁?爲什麼你需要參考使用主控的頁面?

假設你使用VB和,我明白你的問題,試試這個在您的母版頁的代碼隱藏:

Dim someControl As MyControl = CType((New Page()).LoadControl("~/Path/To/MyControl.ascx"), MyControl) 
mySubstitution.Controls.Add(someControl) 
+0

我指的替代控件是用於輸出緩存頁面的http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.substitution.aspx。 (: – gsb 2009-08-19 18:04:34

相關問題