6

コントローラーの 1 つで次のコードを使用しました。

            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>

}
4

2 に答える 2

15

サーバーから AJAX アクションでリダイレクトすることはできません。ブラウザに AJAX アクションでリダイレクトさせたい場合は、javascript から行う必要があります。明らかに、AJAX を使用してリダイレクトすることはまったく役に立ちません。リダイレクトする場合は、通常の Html.Begin フォームを使用し、AJAX を気にしないでください。

于 2011-02-18T13:37:01.323 に答える
1

PreviewAndSendMailEmail を直接呼び出してみませんか? リダイレクト自体(URLの変更など)は必要ないので、使う必要はありません。

于 2011-02-18T13:35:50.583 に答える