1
私は2つの独立したコントローラをプロジェクト内の2つの別々の領域に持っています。ASP.NET MVCの領域間で同じコントローラコードを共有
2つの唯一の違いは、ベースコントローラです。
- BrowsingSessionController:Area1BaseController
- BrowsingSessionController:Area2BaseController
コントローラ自体はかなり肉であり、条件に基づいてViews
またはRedirectToActions
を返します。
DRYの原則を遵守してコントローラの構造を維持する方法を考えたが、コードを繰り返さないようにしたいと思う。
方法のサンプル
BrowsingSessionControllerContent
...
case ("byexpiry"): // Expiry Grid
currentTemplateModel._TemplateExpiry =
_browsingSessionTemplateRepository.GetBrowsingSessionLeadExpiryTemplateById(currentTemplateModel.Id);
return View("SessionExpiryGrid",
new SessionExpiryGridModel()
{
ActiveBrowsingSessionTemplate = currentTemplateModel,
SessionGuid = guid
});
...