我在Visual Studio 2010中使用ASP.NET web表單。我如何以編程方式創建UI控件?例如,我想在單獨的表單文件中定義一個側欄菜單等,然後生成的頁面將繼承該功能。在我的基類中,我爲this.Controls
添加了一個新控件,但生成頁面時會引發異常,並說該控件必須放置在標記爲runat="server"
的標記內。如果我想以編程方式生成這些控件,如何將它們放置在這樣的標籤內?ASP.NET的繼承代碼
0
A
回答
2
你寫:
,然後將得到的頁面將繼承該功能
這讓我相信,你最好使用母版頁,這裏的a tutorial on ASP.NET master pages(使用谷歌找到更多)。然而,繼承本身也可以輕易地通過採取任何現有的控制,並擴展它來實現:
class MyTextBox : TextBox
{
// your extensions and overrides
}
後來你寫:
我添加了一個新的控制this.Controls,但生成頁面會引發異常,並說該控件必須放置在runat =「server」標籤內。
這是不完全相關的。這很簡單:每個服務器控件都必須有一個runat="server"
_或者它不會被ASP.NET解析器識別。即,如下:
<!-- existing server control, placed on a page -->
<asp:Label runat="server" Id="MyOwnLabel" />
<!-- your own server control, placed on a page -->
<my:MyTextBox runat="server" ID="ReallyMyTextBox" />
1
我有點困惑。這聽起來像你試圖通過各種頁面以編程方式添加元素。在ASP.NET中,這不是必需的。
我相信你在找什麼(以及什麼是正確的工具)將是ASP.NET Master Pages。
Master Pages將允許您爲具有常見內容(如導航,廣告條等)的頁面定義一種模板。
相關問題
- 1. ASP.NET的CodeFile,代碼隱藏和繼承
- 2. SQL中的繼承代碼
- 3. DetailView繼承RowView的代碼
- 4. 繼承EF代碼優先
- 5. C#繼承封裝代碼
- 6. 代碼合同繼承
- 7. C#ASP.NET繼承
- 8. ASP.NET繼承
- 9. 「繼承」在java中沒有繼承的相同代碼
- 10. MS Access中的VBA代碼的繼承
- 11. 的Object.create繼承和初始化代碼
- 12. 繼承代碼的可重用
- 13. 用於屬性繼承的IL代碼
- 14. EF生成的代碼繼承
- 15. EF代碼中的繼承映射?
- 16. asp.net 4.0 web.config繼承
- 17. ASP.NET會話繼承
- 18. ASP.NET頁面繼承
- 19. ASP.NET ActionFilters和繼承
- 20. 迭代器繼承和繼承*這個
- 21. 在asp.net中的繼承
- 22. ASP.NET MVC ModelBinding繼承的類
- 23. ASP.Net中的繼承頁面
- 24. 實體框架代碼中的繼承代碼首先
- 25. 繼承列表式短代碼WordPress
- 26. EF代碼第一 - 繼承和關係
- 27. Nhibernate並繼承按代碼映射
- 28. 代碼爲第一EF5繼承
- 29. 類繼承代碼不起作用
- 30. XAML繼承,代碼重用,優化