有人可以建议我什么是干净和正确的渲染方式,什么是 MVC 4 RedirectResult,在 jQuery 对话框中?
我有一个 Facebook 插件,它返回一个“RedirectResult”,以便在登录过程中用户在 facebook 登录页面上重定向,然后返回网站。我想在 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>
我试图在加载函数中移动它,但这并没有产生任何结果。
任何建议将不胜感激。谢谢