c# - Ajax 后重定向

标签 c# javascript asp.net ajax asp.net-mvc

我有一个mvc项目,我想做的是:

我正在从我的 JS 脚本发送一个 ajax 请求。处理后,我想重定向到带有模型的页面。

现在我尝试发送一个表单作为 ajax 响应并像这样提交它:

sb.Append("<html>");
sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
sb.AppendFormat("<form name='form' action='{0}' method='post'>", "url..");
sb.AppendFormat("<input type='hidden' name='result' value='{0}'>", val1);
.....

在 JS 上:

success: function (result) {
            var form = $(result);
            $(form).submit();
        }

但是这样我需要指定每个帖子参数,我想发送整个模型对象。 我该怎么做?

编辑 完整步骤:

1.使用MVC APP。

2.我在 View 中提交按钮,将用户重定向到我的 JS 代码。

3.Js 代码向名为“Transaction”的 MVC 页面发送 Ajax 请求。

4.C# 代码执行一些操作,现在我需要将用户重定向到一个名为 EOF 的页面,其中包含 ALOT post 参数,这就是为什么我想将它作为 ViewModel 传递。

最佳答案

当您使用 ajax 时,您可以从操作中返回 URL 并在 javascript 中将其重定向:

Controller

public ActionResult Transaction()
{
    // Do stuff
    return Json(new { success = true, redirecturl = Url.Action("RedirectedAction") });
}

然后在 javascript 中将类似这样的内容添加到您的成功处理程序中:

Javascript(在您的成功处理程序中)

success: function (result) {
            if (result.success == true)
            {
               window.location = result.redirecturl;
            }
        }

关于c# - Ajax 后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25154055/

相关文章:

javascript - Express 服务器和服务动态变化的值

c# - 序列化json时如何忽略JsonProperty(PropertyName = "someName")?

c# - 使用 C# 与 Windows 更新交互

javascript - 打开新选项卡/窗口并关闭旧选项卡/窗口

javascript - jquery 字符串转数字返回字符串

asp.net - ASP.NET 新手 : Webforms vs MVC2

c# - 如何在 ViewModel 中捕获动态按钮点击

c# - 使用 WCF RIA 服务的多个 LoadOperations 模式

asp.net - 循环遍历列表框中的所有值时如何获取它们?

c# - 什么是适用于 ASP.NET 的良好可扩展博客应用程序?