Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.Net链接按钮在Firefox(版本8)中不起作用_Asp.net_Facebook_Facebook Graph Api_Facebook C# Sdk - Fatal编程技术网

ASP.Net链接按钮在Firefox(版本8)中不起作用

ASP.Net链接按钮在Firefox(版本8)中不起作用,asp.net,facebook,facebook-graph-api,facebook-c#-sdk,Asp.net,Facebook,Facebook Graph Api,Facebook C# Sdk,我已经开发了一个ASP.NET应用程序用于Facebook。它有一个简单的链接按钮,用于在旧版本的Firefox中正常工作 <asp:LinkButton ID="lbtnLogOut" runat="server">Disconnect</asp:LinkButton> Protected Sub lbtnLogOut_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtnLog

我已经开发了一个ASP.NET应用程序用于Facebook。它有一个简单的链接按钮,用于在旧版本的Firefox中正常工作

<asp:LinkButton ID="lbtnLogOut" runat="server">Disconnect</asp:LinkButton>

 Protected Sub lbtnLogOut_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbtnLogOut.Click       
    Response.Redirect(Request.ApplicationPath & "/login.aspx")
  End Sub
,但它没有为我提供任何解决方案。

想知道这个问题是由Facebook iFrame还是Firefox引起的?任何帮助都将不胜感激。

看起来您并没有为LinkButton分配事件处理程序

<asp:LinkButton ID="LinkButton1" runat="server" Text="Click" OnClick="LinkButton1_Click" />

您发布的JavaScript是
\uuu doPostBack
函数,它不是LinkButton独有的。LinkButtons使用
\uuuDoPostBack
触发回发,这是正确的,但除非为LinkButton分配事件处理程序,否则不会调用该函数


出于调试目的,我还将CausesValidation设置为false,以确保验证不会干扰单击事件。

只需在.master文件或其他适当的文件中,在结束标记之前使用此代码:

   <script language="javascript" type="text/javascript">
   <!--
   function __doPostBack(eventTarget, eventArgument) {
   var theform;
   if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
   theform = document.aspnetForm;
   }
   else {
   theform = document.forms["aspnetForm"];
   }
   theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
   theform.__EVENTARGUMENT.value = eventArgument;
   theform.submit();
   }
   // -->
  </script>


将“aspnetForm”替换为您自己的。

尝试在标记中显式声明事件处理程序。出于调试目的,我还将
CausesValidation
设置为false。验证也可能是罪魁祸首。处理lbtnLogOut。单击-它不会自动处理链接按钮的OnClick属性吗?链接按钮的HTML呈现代码将被删除。因此,单击锚定链接调用uu doPostBack函数,该函数反过来执行form.Submit()OK..问题是这样的。神奇的是,它从今天下午就开始工作了。我的假设是,由于我的应用程序是一个Facebook应用程序(显示在Facebook网站的iFrame中),Facebook API与我的代码冲突/导致一些问题。
   <script language="javascript" type="text/javascript">
   <!--
   function __doPostBack(eventTarget, eventArgument) {
   var theform;
   if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
   theform = document.aspnetForm;
   }
   else {
   theform = document.forms["aspnetForm"];
   }
   theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
   theform.__EVENTARGUMENT.value = eventArgument;
   theform.submit();
   }
   // -->
  </script>