2009-10-01 60 views

回答

3

您是否嘗試過在這個堆棧溢出問題中列出的項目?

YUI Button Initiates Postback Twice

我們需要查看您的代碼以幫助您。

要檢查的事項:

  • AutoEventWireUp設置爲true(如果你有一個Page_Load方法,將其設置爲false
  • 與onclick事件的ASP.NET按鈕或JavaScript的按鈕按鈕?如果它是一個ASP.NET按鈕,請嘗試submit='false'作爲按鈕屬性。如果它是一個啓動JavaScript onclick的按鈕,則在onclick事件中的其餘JavaScript之後嘗試return false();

問題,我有:

  • 什麼是按鈕的目的是什麼?
  • 圍繞它的完整代碼是什麼?
  • 什麼是頁面指令設置爲?
  • 您是否使用任何第三方JavaScript?
  • AutoEventWireUp=true

我真的只是在這一個沒有你的代碼在牆上扔飛鏢,所以這個答案可能會改變/根據您添加到您問題的代碼進行編輯。

+0

該按鈕的用途是將數據提交給DataSet。該頁面由一些添加到頁面的動態創建的控件組成。我確實將AutoEventWriteUp設置爲true。該應用程序是一個1.1應用程序,我已經升級到3.5。 – 2009-10-01 13:33:34

+0

好的,太好了。你可以發佈你的page_load代碼以及圍繞這個按鈕的ASPX代碼嗎?我們無法真正幫助你。如果你有一個明確的'Page_Load'方法,並且帶'this.Load + =' – 2009-10-01 13:37:42

+0

**,我建議將''autoeventwireup''設置爲false。是的!** JavaScript「** return true; **」是我網頁上的罪魁禍首。 _謝謝!_ – CZahrobsky 2013-09-25 19:18:08

1

如果您的網站具有身份驗證功能,並且您的登錄頁面上出現double-page_load,那麼您的login.aspx頁面可能會使用匿名用戶權限以外的資源。例如,如果你的web.config包括:

<authorization> 
    <deny users="?"/> 
</authorization> 

和你的Login.aspx頁使用.css文件在/風格的文件夾,您需要添加:

<configuration> 
    <!-- Other configuration elements... --> 
    <location path="style"> 
     <system.web> 
      <authorization> 
       <allow users="*"/> 
      </authorization> 
     </system.web> 
    </location> 
</configuration> 

一個很好的方式來測試如果這是你的問題,則使用Firebug內的「Net」標籤來觀察請求。您還可以註釋掉您的登錄頁面引用的任何圖像和鏈接元素。

如果未通過身份驗證的用戶對您的網站的引用區域賦予權限,但在非login.aspx頁面上也可能發生此行爲,但我沒有對其進行測試。