1.在你的MVC應用程式根目錄添加新檔案夾,取名為CodeSmith
2.添加CodeSmith模板檔案StrongTypedViews.cst.
3.右鍵點擊CodeSmith檔案夾,選擇添加一個新的CodeSmith Project,取名為CodeSmith.csp.
4.右鍵點擊剛產生的CodeSmith.csp檔案在彈出的右鍵菜單選擇Manager Output
5.在彈出的對話方塊菜單做如下的設定
6.右鍵CodeSmith.csp選擇Generate Output產生CotrollerBase.cs
ControllerBase.cs檔案
namespace CNPC.Controllers{ public partial class ControllerBase: Controller { public class ViewFolderBase { protected readonly ControllerBase controllerBase; public ViewFolderBase(ControllerBase controllerBase) { this.controllerBase = controllerBase; } } public new ViewResult View(string path, object model) { return base.View(path, model); } public new PartialViewResult PartialView(string path, object model) { return base.PartialView(path, model); } protected ViewsFolder Views { get { return new ViewsFolder(this); } } public class ViewsFolder: ViewFolderBase { public ViewsFolder(ControllerBase controllerBase): base(controllerBase) { }
7.最好需要修改你的控制器類從ControllerBase繼承,如下
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Mvc.Ajax;namespace CNPC.Controllers{ public class SearchController : ControllerBase//繼承類 { Models.cnpcDataContext cnpc = new CNPC.Models.cnpcDataContext(); //Example Url: /Search // public ActionResult Index() { return Views.Search.Index();//強型別的讀取方式 return View();//標準的視圖讀取方式 }
下載檔案:http://files.cnblogs.com/apiaceae/2009_4_StrongTypedViews.zip