В этом ответе я обрисовал метод модального окна, который работает без JavaScript; без изменений кода, если вы хотите отключить все модальные и javascript-функции.
Простые представления ASP.NET MVC CRUD, открывающиеся / закрывающиеся в диалоговом окне JavaScript UI
Биты, которые я считаю наиболее важными для вас, являются пользовательскими ViewEngine:
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 и окружающий шаблон, загружая отдельную мастер-страницу, если запрос от ajax или нет. Переключая главную страницу в свой собственный ViewEngine, вы избегаете кода if (Ajax) во всех ваших контроллерах и сохраняете его в чистоте.