在这个答案,我提出了一个模态窗口技术,清洁工作没有JavaScript的;如果您想禁用所有模式和JavaScript功能,则不会更改代码。
Simple ASP.NET MVC CRUD views opening/closing in JavaScript UI dialog
,我认为是对你最重要的位是自定义视图引擎:
public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache)
{
//you might have to customize this bit
if (controllerContext.HttpContext.Request.IsAjaxRequest())
return base.FindView(controllerContext, viewName, "Modal", useCache);
return base.FindView(controllerContext, viewName, "Site", useCache);
}
此代码关闭JavaScript和通过加载一个独立的母版如果请求是从周围的模板阿贾克斯或不。通过在您自己的自定义ViewEngine中切换主页面,您可以避免所有控制器中的if(Ajax)代码并保持事物清洁。