gpt4 book ai didi

c# - Asp.Net Mvc - 从服务器切换到 Ajax

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:31 25 4
gpt4 key购买 nike

是否有一种干净的方法来管理我的 Asp.Net Mvc 网站,使其在启用/禁用 javascript 时都能正常工作。因为,就目前而言,我必须像那样破解才能使两者都起作用。我认为这不会使代码易于维护和重用...

if (Request.IsAjaxRequest()) 
{
return PartialView("SignUpForm", user);
}
else
{
return View("SignUp", user);
}

最佳答案

在这个回答中,我概述了一种无需 javascript 即可正常工作的模态窗口技术;如果您想禁用所有模式和 javascript 功能,则无需更改代码。

Simple ASP.NET MVC CRUD views opening/closing in JavaScript UI dialog

我认为对您来说最重要的部分是自定义 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);
}

此代码通过加载单独的 MasterPage(无论请求是否来自 ajax)来关闭 javascript 和周围的模板。通过在您自己的自定义 ViewEngine 中切换母版页,您可以避免所有 Controller 中的 if(Ajax) 代码并保持整洁。

关于c# - Asp.Net Mvc - 从服务器切换到 Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com