Asp.net mvc 在ASP.NET MVC中的区域之间共享相同的控制器代码
在我的项目中,我在两个不同的区域中有两个相同的控制器 两者之间的唯一区别是基本控制器Asp.net mvc 在ASP.NET MVC中的区域之间共享相同的控制器代码,asp.net-mvc,asp.net-mvc-3,dry,Asp.net Mvc,Asp.net Mvc 3,Dry,在我的项目中,我在两个不同的区域中有两个相同的控制器 两者之间的唯一区别是基本控制器 浏览会话控制器:区域1BaseController 浏览会话控制器:区域2BaseController 控制器本身非常丰富,根据条件返回视图或重定向到操作 我不想在术语上重复我自己,我希望坚持DRY原则,并想知道如何维护控制器结构,但避免重复代码 方法样本 浏览SessionController内容 在控制器之间使用组合而不是继承来共享逻辑通常更好 您可以使用静态实用程序类来封装公共逻辑,并从控制器代码中调用它
视图
或重定向到操作
我不想在术语上重复我自己,我希望坚持DRY原则,并想知道如何维护控制器结构,但避免重复代码
方法样本
浏览SessionController内容
在控制器之间使用组合而不是继承来共享逻辑通常更好 您可以使用静态实用程序类来封装公共逻辑,并从控制器代码中调用它
该逻辑将存在于基本区域中。在控制器之间共享逻辑时,通常最好使用组合而不是继承 您可以使用静态实用程序类来封装公共逻辑,并从控制器代码中调用它 这种逻辑将存在于根据地
...
case ("byexpiry"): // Expiry Grid
currentTemplateModel._TemplateExpiry =
_browsingSessionTemplateRepository.GetBrowsingSessionLeadExpiryTemplateById(currentTemplateModel.Id);
return View("SessionExpiryGrid",
new SessionExpiryGridModel()
{
ActiveBrowsingSessionTemplate = currentTemplateModel,
SessionGuid = guid
});
...