我在我的一个控制器中使用了以下代码;
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>
}
答案 0 :(得分:15)
您无法从服务器重定向AJAX操作。如果您希望浏览器在AJAX操作中重定向,则需要从javascript执行此操作。显然使用AJAX重定向绝对没用。如果您打算重定向使用普通的Html.Begin表单而不打扰AJAX。
答案 1 :(得分:1)
为什么不直接调用PreviewAndSendMailEmail?由于您不需要重定向(更改URL等),因此无需使用它。