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"> </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">
</a>
ロード機能で移動しようとしましたが、結果が得られませんでした。
どんな提案でも本当に感謝します。ありがとう