asp.net mvc ajax post - redirecttoaction无效

时间:2011-02-18 13:33:51

标签: asp.net-mvc ajax asp.net-mvc-ajax

我在我的一个控制器中使用了以下代码;

            if (Request.IsAjaxRequest()) {
            return RedirectToAction("PreviewAndSendEmail");
        }

我调试了它,它返回了行,但没有发生重定向。是否可以在Ajax.BeginForm中执行此操作?这是剃刀代码;

    using(Ajax.BeginForm( new AjaxOptions { LoadingElementId = "loading" })) { 

    <b>Choose E-mail Template : </b>@Html.DropDownList("emailtemps")<br /><br />

    <input type="submit" value="Preview & Send" />

    <span id="loading" style="display: none;">
        <img title="loading..." alt="load" src="@Url.Content("~/Content/App_Icons/gifs/loading.gif")"
    </span>

}

2 个答案:

答案 0 :(得分:15)

您无法从服务器重定向AJAX操作。如果您希望浏览器在AJAX操作中重定向,则需要从javascript执行此操作。显然使用AJAX重定向绝对没用。如果您打算重定向使用普通的Html.Begin表单而不打扰AJAX。

答案 1 :(得分:1)

为什么不直接调用PreviewAndSendMailEmail?由于您不需要重定向(更改URL等),因此无需使用它。