1
是否有一個良好的以公約爲基礎的方式,以避免重複這樣的代碼在我的控制器的操作方法?:ASP.NET MVC的Ajax /部分意見和DRY
if (Request.IsAjaxRequest())
{
return PartialView("EmployeeList", _service.GetEmployees());
}
return RedirectToAction("Index");
是否有一個良好的以公約爲基礎的方式,以避免重複這樣的代碼在我的控制器的操作方法?:ASP.NET MVC的Ajax /部分意見和DRY
if (Request.IsAjaxRequest())
{
return PartialView("EmployeeList", _service.GetEmployees());
}
return RedirectToAction("Index");
以下。如果所有的控制器從繼承您可以控制基類,您可以在那裏添加那一點邏輯。
喜歡的東西:
internal class MyBaseController : Controller
{
protected ActionResult PartialOrRedirect<T>(string partialName, Func<T> getModel, string actionName)
{
if (Request.IsAjaxRequest())
{
return PartialView(partialName, getModel());
}
return RedirectToAction(actionName);
}
}
public class MyDerrivedController : MyBaseController
{
public ActionResult Employees()
{
return PartialOrRedirect(
"EmployeeList",
() => _service.GetEmployees(),
"Index");
}
}
否則,您可以考慮使用一個擴展方法做就Controller
類型同樣的事情。