ajax调用后返回视图

use*_*491 4 c# asp.net-mvc jquery razor

在使用jquery进行异步调用之后,如何返回一个特殊视图?

这是我的来电者观点:

<script type="text/javascript">

    function Run() {

        $.ajax({
            type: "POST",
            cache: false,
            url: "/Home/Run",
            data: $("#form_run").serializeArray(),
            dataType: "json"
        });

    }

</script>
<form action="javascript:return true;" method="post" id="form_run">
    <input type="text" id="nome" name="nome" />
    <input type="text" id="cognome" name="cognome" />
    <input type="submit" name="submit" value="Run" onclick="Run();" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的控制器动作:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Run(string nome, string cognome)
    {
        return View("Result");
    }
Run Code Online (Sandbox Code Playgroud)

无法显示视图"结果"如何?

Gab*_*abe 6

您无法View从异步调用返回a .ajax请求旨在避免执行整个页面循环.

POST如果你想要一个新的View返回,你应该做一个回来.

另一个选项是在ajax调用成功后进行回调并将其设置window.location为new,View以便页面执行GET到新的调用View.