asp.net-mvc-3 – 可以重定向到新页面的Ajax.BeginForm
发布时间:2020-12-16 00:45:05 所属栏目:asp.Net 来源:网络整理
导读:我有一个@ Ajax.BeginForm为我的模型有一个布尔值(@ Html.CheckBoxFor)。如果这被检查,我希望我的HttpPost动作重定向到一个新的页面。否则我希望它继续是一个@ Ajax.BeginForm并更新页面的一部分。 这是我的HttpPost动作(注意:Checkout是我的模型中的布尔
我有一个@ Ajax.BeginForm为我的模型有一个布尔值(@ Html.CheckBoxFor)。如果这被检查,我希望我的HttpPost动作重定向到一个新的页面。否则我希望它继续是一个@ Ajax.BeginForm并更新页面的一部分。
这是我的HttpPost动作(注意:Checkout是我的模型中的布尔值) 控制器: [HttpPost] public ActionResult UpdateModel(BasketModel model) { if (model.Checkout) { // I want it to redirect to a new page return RedirectToAction("Checkout"); } else { return PartialView("_Updated"); } } 解决方法
您可以使用JSON并在客户端上执行重定向:
[HttpPost] public ActionResult UpdateModel(BasketModel model) { if (model.Checkout) { // return to the client the url to redirect to return Json(new { url = Url.Action("Checkout") }); } else { return PartialView("_Updated"); } } 接着: @using (Ajax.BeginForm("UpdateModel","MyController",new AjaxOptions { OnSuccess = "onSuccess",UpdateTargetId = "foo" })) { ... } 最后: var onSuccess = function(result) { if (result.url) { // if the server returned a JSON object containing an url // property we redirect the browser to that url window.location.href = result.url; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – IIS web部署 – 创建虚拟目录?
- Response.Flush不工作ASP.NET
- ASP.NET Web窗体是否阻止双击提交?
- asp.net-mvc – 选择哪种ASP.NET编程模型?
- asp.net-mvc – 使用REST API进行身份验证
- asp.net – 谁负责处理HttpPostedFile.InputStream – 何时
- ASP.NET Web站点项目中的“复制本地”等效参考
- asp.net – Web.config:在xml属性中放一个注释
- 使用asp.net Web表单中的流返回可下载文件
- asp.net – 转义HTML实体并避免WebForm标签中的HTML注入?
推荐文章
站长推荐
- asp.net-mvc – 我应该在ASP.NET MVC中使用Anti-
- ASP.NET MVC与Webforms与HTTP处理程序(.ashx) –
- asp.net – 在请求C#上添加TextBocex,CheckBoxes
- asp.net – 许多用户的许多表?
- asp.net – CSS文件引用了两次
- asp.net-mvc – MVC – 索引视图溢出
- asp.net – 在visual studio中的同一解决方案中运
- 与32位相比,ASP.NET 4.0工作进程在64位内消耗的内
- 在ASP.NET标记中“使用”等效的命名空间
- asp.net-mvc – Orchard查询按内容类型BlogPost和
热点阅读