【发布时间】:2012-08-01 07:07:48
【问题描述】:
我已经在 StackOverflow 和 Internet 上查看了很多关于能够通过 ASP.NET LinkButton 将用户从 Facebook 注销的帖子。
我已尝试实施以下帖子中的解决方案:
- Facebook Logout button in asp.net web application
- How to logout from facebook connect in asp.net?
- Facebook Logout Confusion
代码
ASPX 页面
<asp:LinkButton ID="LogoutButton" CssClass="log-out fb" OnClick="LogoutButton_Click" runat="server">Logout</asp:LinkButton>
JavaScript
$(".log-out.fb").click(function () {
FB.logout(function (response) {
//Logged out
FB.Auth.setAuthResponse(null, 'unknown');
});
});
HTML 输出
<a id="MainContent_LogoutButton" class="log-out fb" href="javascript:__doPostBack('ctl00$MainContent$LogoutButton','')" style="width: 66px; ">Logout</a>
我绝对知道在通过 Firebug 进行调试时会触发 jQuery click 事件。 jQuery 代码在与标准 HTML 锚结合使用时可以正常工作,因此它没有理由不能在 ASP.NET LinkButton 上工作。
任何帮助将不胜感激。
【问题讨论】:
-
在 HTML 中没有 “ASP.NET LinkButton” 这样的东西。请向我们展示您的服务器端脚本生成的实际 HTML 代码,或者更好的是,向我们展示示例页面的 URL 以查看它。
-
我已将帖子修改为“ASPX”而不是“HTML”。 :-) 我将发布由 .NET 生成的 HTML。
-
@CBroe 帖子已更新。通过查看 HTML 输出,计算导致问题的 href="javascript:__doPostBack('ctl00$MainContent$LogoutButton','')" ?
-
从它的名字来看,它听起来像是在做一些事情,比如发回服务器,所以是的,这可能是问题所在。如果您只想拥有一个 HTML A 元素,那么为什么不在您的代码中编写其中一个元素,而完全忘记那些 asp-button-thing...?
-
你可以在
FB.logout的回调函数中调用你想要在服务器端执行的代码,只需指向一个通过location.href = "…"执行该代码的URL
标签: asp.net facebook logout linkbutton