2011-05-15 63 views
1

我正在按照教程Getting Started with an ASP.NET MVC 3 Website权限弹出按钮不可见

使用5.0.25(RTW)版本。

一切都很好,除了默认显示“popup”使用屏幕的全宽,所以在本地运行应用程序很好,但是当我把它放在Facebook页面上时,按钮不可见。

public ActionResult LogOn(string returnUrl) 
    { 
     var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current); 
     oAuthClient.RedirectUri = new Uri(redirectUrl); 
     var loginUri = oAuthClient.GetLoginUrl(new Dictionary<string, object> { 
        { "state", returnUrl }, 
        {"response_type", "token"}, 
        { "display", "popup" }, 

        { "scope", "offline_access,email" } }); 
     return Redirect(loginUri.AbsoluteUri); 
    } 

(截屏)http://imageshack.us/photo/my-images/855/fbnobuttons.png/

尝试使用iframe,但它不允许使用显示: “页”(页页)再次显示完整的Facebook页面。 我知道我可以使用javascript sdk,但我需要这样做。

我希望得到任何帮助

回答

0

我认为这关系到你的return Redirect(..)

正如你在iframe中,使用此代码只更改了iframe的位置,而你应该是整个重定向页面..

而不是使用回报重定向你应该与此代码返回一个空的html页面:

<script type="text/javascript"> 
    top.location.href='%s'; 
</script> 

其中%s是您的login.AbsoluteUri

这对您有帮助吗?

+0

并使用显示页面.. – dwarfy 2011-05-15 14:38:15

+0

我需要保持当前页面可见。 使用FB.Canvas.setSize({width:xxx,height:xxx})解决了它; 我将我的应用程序的大小设置为510x400,并且权限页面调整大小显示包括按钮在内的所有信息,用户授予权限后,我再次将页面大小设置为默认应用程序大小 – 2011-05-16 13:07:45