Dans cette réponse que je vous ai présenté une technique de fenêtre modale qui fonctionne proprement sans javascript; aucun code ne change si vous souhaitez désactiver toutes les fonctionnalités modales et javascript.
Simple ASP.NET MVC CRUD views opening/closing in JavaScript UI dialog
Les bits qui me semblent le plus important pour vous est ViewEngine personnalisé:
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);
}
Ce code désactive le javascript et le modèle entourant en chargeant une MasterPage séparée si une demande est de ajax ou pas. En basculant la page maître à l'intérieur de votre ViewEngine personnalisé, vous évitez le code if (Ajax) dans tous vos contrôleurs et gardez les choses propres.