asp.net-mvc-3 – 可以重定向到新页面的Ajax.BeginForm
发布时间:2020-05-23 15:17:07 所属栏目: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 – 将密码格式从加密更改为哈希
- asp.net-mvc-3 – 不能将lambda表达式转换为’string’类型
- ASP.NET – 可以从服务器代码触发回发吗?
- 使用asp.net中的Enterprise Library实现日志文件
- asp.net – ASPNET WebForms服务器控件在Page_Load中为NULL
- 为什么Asp.Net MVC 5在_Layout.cshtml的底部放置@ Scripts.
- asp.net – ‘txtName’未声明 由于其保护等级可能无法访问
- asp.net-mvc-3 – 带有asp.net mvc 3的$ajax内的相对URL
- asp.net – 无法编写输出文件… pdb visual studio 2010
- asp.net下文件上传和文件删除的代码
推荐文章
站长推荐
- asp.net-mvc – 尝试确定在干净安装的窗口上托管
- msdeploy – 使用ASP.NET 4.5发布配置文件时如何
- asp.net-mvc – 测试控制器使用User.Identity.Na
- asp.net – 可以将值或参数传递到用户控件?
- 禁用ASP.NET HttpHandler响应缓存
- asp.net – 如何在没有往返的情况下更新实体? (
- asp.net – 如何在javascript中检测/跟踪回发?
- 使用ASP.NET MVC捆绑和缩小模块化JavaScript(Req
- 如何在ASP.Net Gridview中添加“确认删除”选项?
- asp.net-mvc – MVC 5 OWIN登录声明和Antiforger
热点阅读
