如果我想爲所有頁面添加通用功能,我創建一個BasePage並從它驅動所有ASPX頁面,如何在MVC中爲Pageviews和Controllers做到這一點?如何:頁面視圖和控制器在ASP.NET MVC中繼承
回答
對於視圖(你稱之爲「瀏覽量」),你可能不會有太多的數據/行爲在基類中分組,但你仍然可以。你可以定義一個從System.Web.UI.Page繼承的類,並將所有的通用邏輯放在那裏。 然後在代碼中爲視圖添加視圖(在ASP.NET MVC 1.0中,視圖中沒有代碼文件BY DEFAULT後面的代碼,但you can create it)從此公共類繼承視圖類。
對於控制器,您可以創建一個從System.Web.Mvc.Controller中創建一個類並將所有常用事物放入其中的類。然後從這個類中派生所有的控制器類。對命名,命名空間和文件位置沒有限制。
好一個控制器,你只是System.Web.Mvc.Controller
繼承並添加自定義功能:
public class MyController : System.Web.Mvc.Controller
{
public MyController() : base()
{
ViewData["someDataInMasterPage"] = "Hello World!";
}
}
如果你有一個母版頁這將嘗試檢索一些的ViewData與鍵的上方,這將使它如果他們的控制器將繼承自MyController,則可以在所有視圖中訪問。
您可以從ViewPage繼承以定義自定義功能。例如見下面這個問題:Extending WebFormView in MVC
繼承感謝你的幫助 – DevMania 2009-05-22 09:15:44
,如果你想所有視圖共享相同的腳本中使用具有所有的腳本功能,在它的母版頁,並把一個佔位符在它:
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
然後每個子視圖,則引用主頁。
<%@ Page Title="" Language="C#" MasterPageFile="Site.Master"
Inherits="OpenProjects.Web.Mvc.ApplicationView %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
</asp:Content>
對於控制器,創建你自己的應用程序控制器,從內置MVC控制器繼承,然後讓你的控制器,以從,而不是僅僅控制
- 1. Asp.net MVC繼承控制器
- 2. 如何繼承ASP.NET MVC控制器並只更改視圖?
- 3. Asp.net視圖模型和控制器MVC繼承
- 4. 視圖控制器繼承
- 5. ASP.Net MVC 3控制器的繼承
- 6. ASP.NET MVC 4控制器繼承
- 7. MVVM在視圖和視圖控制器之間具有繼承
- 8. Ninjaframework MVC控制器繼承和路由
- 9. ASP.Net MVC隨機,控制器和視圖
- 10. 重用ASP.NET MVC視圖和控制器
- 11. ASP.Net MVC控制器和視圖交互
- 12. asp.net mvc - 視圖和控制器
- 13. 什麼是「頁面控制器」和「頁面視圖控制器」?
- 14. StoryBoard處理繼承視圖控制器
- 15. 繼承另一個視圖控制器?
- 16. ASP.NET頁面繼承
- 17. 如何在頁面視圖控制器中獲取當前視圖控制器
- 18. 如何將頁面從視圖重定向到ASP.NET MVC 3中的控制器?
- 19. ASP.Net中的繼承頁面
- 20. MVC視圖繼承
- 21. 如何使用視圖和控制器顯示圖像ASP.NET MVC
- 22. 混合asp.net Forms和MVC應用程序中的頁面繼承
- 23. Asp.Net Mvc - 如何在共享視圖中使用「控制器」
- 24. ASP.NET MVC如何鏈接視圖和控制器?
- 25. ASP.NET MVC如何動態創建控制器和視圖?
- 26. Asp.net控件繼承面板
- 27. .NET MVC 2控制器繼承
- 28. 在MVC視圖頁面內運行服務器控件? (asp.net)
- 29. 無法在ASP.NET MVC中創建控制器和視圖
- 30. ASP.NET MVC 2:在視圖和控制器中測試什麼
謝謝你幫助 – DevMania 2009-05-22 09:15:40
np;) – 2009-05-22 09:21:27