1

jQueryダイアログで、MVC 4 RedirectResultとは何か、レンダリングするためのクリーンで適切な方法を誰かが提案できますか?

「RedirectResult」を返す Facebook プラグインがあるので、ログイン プロセス中にユーザーは Facebook ログイン ページにリダイレクトされ、その後 Web サイトに戻ります。Web サイトのページを離れないように、jQuery ダイアログにログイン ページをロードしたいと思います。

私のコントローラーには次のものがあります:

    if (result.Result != null) return result.Result;

    return HttpContext.Request.IsAuthenticated ? new RedirectResult(!string.IsNullOrEmpty(returnUrl) ? returnUrl : "~/") : new RedirectResult(Url.LogOn(returnUrl));

「result.Result」は RedirectResult タイプであり、ここにリダイレクトを含む URL があります。

ログインFacebookページをロードしたいjQueryダイアログでビューをたどります:

   @using Nop.Web.Framework.UI
    @{
    Layout = "";
    Html.AddCssFileParts("./Plugins/ExternalAuth.Facebook/Content/facebookstyles.css");
    }

<fieldset class="facebook-login-block">
    <legend>@T("Plugins.ExternalAuth.Facebook.Login")</legend>

    <a href="#" class="facebook-btn" id="facebook-btn">&nbsp;</a>
</fieldset>

    <script type="text/javascript">
          $(document).ready(function () {
              $("a#facebook-btn").click(function (e) {
                  e.preventDefault();
                  $('#dialog').dialog({
                      resizable: true,
                      height: 250,
                      width: 400,
                      modal: true,
                      open: function (event, ui) {
                          $('#dialog').load("@Url.RouteUrl("Plugin.ExternalAuth.Facebook.Login", new { ReturnUrl = HttpContext.Current.Request.QueryString["ReturnUrl"] })");             
                      }
                  });


            });
        });
    </script>

    <div id="dialog" style="display:none"></div>

これは元の呼び出しです。

<a href="@Url.RouteUrl("Plugin.ExternalAuth.Facebook.Login", new { ReturnUrl = HttpContext.Current.Request.QueryString["ReturnUrl"] })" class="facebook-btn">
    &nbsp;</a>

ロード機能で移動しようとしましたが、結果が得られませんでした。

どんな提案でも本当に感謝します。ありがとう

4

1 に答える 1