我有一個母版頁,它依賴於來自我的頁面的特定模型。因此,對於基本結束碼每一個的ViewResult結束了這樣的事情重複使用冗餘視圖模型代碼mvc
public ActionResult Details(long store_id)
{
var store = getStore();
var model = new ClientModel<StoreModel>(store)
{
UserNotifications = new UserNotificationModel(this.CurrentUser)
};
return View(model);
}
我的控制器中的每一個從BaseController派生,所以我希望把這個冗餘代碼,但我真的不知道最好的採取的方法。
我一般ClientModel的結構是這樣的......
public class ClientModel<T> : ClientModel {}
public class ClientModel {}
澄清 的StoreModel是通用的,有很多其他的行動使用不同的視圖模型。我只是想根據它在推動時的外觀來展示。
使用繼承:
基本上,你創建一個基本的控制器:
然後所有的控制器從基本繼承。你可能會把自己畫到一個角落裏。 :) – bzlm 2010-11-01 08:03:20
繼承對於MasterPage/Content Page動態是必需的。我的主頁面依賴於ClientModel,而我的View頁面可以採用可選的PageModel,。該解決方案效果很好。 –
2010-11-01 21:41:54