2
是否有可能有不創建頁面負載的控制實例的服務器端控制,而無需使用<asp:PlaceHolder>
?
編輯,儘管示例代碼在C#是,我已經添加VB.NET作爲一個標籤,因爲我相信這是一個問題,那就是ASP.NET具體,而不僅僅是C#
詳細
在.aspx頁面(下.NET 4.0 ASP.NET Web應用程序),我想有以下代碼...
<%if (m_myVar) {%>
<uc1:MyControl1 runat="server" id="myCtrl1"/>
<%}%>
但我不希望系統來創建電子商務MyControl1
如果m_myVar == false
顯而易見的解決方案是使用<asp:PlaceHolder>
控制,並在代碼中創建一個實例的實例...
protected MyControl1 myCtrl1 = null;
if (m_myVar)
{
myCtrl1 = (MyControl1)Page.LoadControl(@"~/MyControl1.ascx");
myPlacehHolder.Controls.Add(myCtrl1);
}
我只是想知道是否有一個內置的方式來這樣做,所以<asp:PlaceHolder>
方法是沒有必要的。
感謝您的建議,但它並沒有真正幫助 - 因爲它使沒有能力結構 – freefaller
中定位控制是的,如果你想在沒有在page_load上創建控件的情況下,你將不得不使用佔位符。 – rickkr