C# Ajax后重定向

C# Ajax后重定向,c#,javascript,asp.net,ajax,asp.net-mvc,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}' meth

我有一个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);
.....
但是这样我需要指定每个post参数,我想发送整个模型对象。 我该怎么做

编辑 完整步骤:

1.使用MVC应用程序

2.我的视图中的“提交”按钮将用户重定向到我的JS代码

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

4.C#代码执行一些操作,现在我需要将usr重定向到一个名为EOF的页面,其中包含大量post参数,这就是我希望将其作为ViewModel传递的原因。

您可以尝试以下方法:

public ActionResult YourMethod(string param)
{
   //what ever you want to do with reference no
    return View("EOF");
   // or, if you want to supply a model to EOF:
   // return View("EOF", myModel);
}

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

控制器

public ActionResult Transaction()
{
    // Do stuff
    return Json(new { success = true, redirecturl = Url.Action("RedirectedAction") });
}
success: function (result) {
            if (result.success == true)
            {
               window.location = result.redirecturl;
            }
        }
然后在javascript中向成功处理程序添加如下内容:

Javascript(在成功处理程序中)


我不清楚你的问题是什么,我不能理解这个问题..请再解释一下你到底想要什么???1.我从我的Js发送了一个ajax到我的mvc页面。2.我想重定向到另一个带有mvc视图模型的页面-仅此而已!哪个部分不清楚?您无法重定向到具有模型值的其他页面…您可以使用window.location.href=“//页面路径//”…转到其他页面,但没有模型值…@Exception,您当然可以-只需创建相关的查询字符串
success: function (result) {
            if (result.success == true)
            {
               window.location = result.redirecturl;
            }
        }