从我的角度来看,我通过$ .ajax将一个JSON对象发送到我的控制器,以将其保存在数据库中。 如果全部成功,我想重定向到另一个将显示不同视图的操作。
如果我使用此代码:
return RedirectToAction("CreatePage", "Survey", new {id = question.PageId});
执行进入Survey控制器,它返回一个视图,但不显示。
我已经阅读了一些post,其中说通过ajax重定向是不可能的。
到目前为止我使用的解决方案是通过javascript重定向,如下所示:
success: function (ret) { window.location.href = "/Survey/CreatePage/" + $("#PageId").val(); }
虽然这总是有效,但有时我需要刷新CreatePage视图以显示最后所做的更改。
如何更好地解决这个问题呢?
提前致谢
正如mccow002建议的那样,我并不是真的需要通过AJAX进行调用。 在研究了建议的解决方案后,我意识到我可以简单地以表格forms提交。 我的困惑是因为我有一个保存并继续编辑和保存。 对于保存和继续,我使用AJAX调用,但是对于提交表单的保存选项是可以的。
非常感谢您的帮助。
您可以将.net代码中呈现的html发送回客户端并在页面中加载该html,而不是重定向到新页面,例如$("#main").load(renderedHtml)
。
但是为了刷新页面,您可以编写一个以指定的时间间隔运行的简单脚本并刷新页面状态。
您可以在CreatePage操作上使用[OutputCache]
,以便它不会缓存页面或仅缓存这么长时间。
输出缓存
需要了解更多jQuery教程分享$ .ajax调用后RedirectToAction MVC 3,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!
以上就是jQuery教程分享$ .ajax调用后RedirectToAction MVC 3相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/981431.html