在Ajax之后重定向

I have a mvc project, what I want to do is this:

I am sending an ajax request from my JS script. After processing it I want to redirect to a page with a model.

Now I tried sending a form as the ajax response and submit it like so:

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);
.....

And on the JS:

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

But this way i need to specify each post param, I want to send the entire model object. How can I do that?

Edit Full steps:

1.Using an MVC APP.

2.I submit button in my view which redirects the user to my JS code.

3.Js code sends an Ajax request to a MVC page called 'Transaction'.

4.C# code doing some actions and now I need to redirect the usr to a page named EOF with ALOT of post params, thats why I want to pass it as a ViewModel.

You can try this:

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);
}

As you are using ajax, you could return the URL from your action and have it redirected in javascript:

Controller

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

Then add something like this to your success handler in javascript:

Javascript (within your success handler)

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