2010-12-02 44 views
0

我有一個問題,即當我導航到頁面並更改查詢字符串時,OnLoad事件不會觸發。如果我做回發它被調用,然後更改查詢字符串更多的OnLoad被調用。Page OnLoad不會引發更改查詢字符串

這是我的嘗試。我導航到頁面OnLoad觸發 - >然後更改查詢字符串頁面更新(所有綁定元素得到更新)OnLoad不會觸發 - >我做一個回發使用按鈕OnLoad觸發 - >然後更改查詢字符串OnLoad觸發。

我會試着更詳細地解釋一下。

系統在登錄時登錄窗口我導航到其他aspx頁面,發送兩個查詢字符串消息,最後一個查詢字符串是一個數字(page.aspx?key = text82 & key2 = 2010)。當第一次到達頁面時,PageLoad事件被調用並且一切正常,如果我在瀏覽器中將key2更改爲2011並按回車,則PageLoad不會被調用,但所有綁定元素都會被更新(GrivView等)。 。如果我使用按鈕做回發,PageLoad會被調用。如果我現在將2011年更改回2010年並按Enter PageLoad被調用。

我試試這是firefox每次都調用PageLoad。

我厭倦了寫一個測試網站,但我沒有得到同樣的問題,但我發現在IE 8中將查詢字符串更改爲相同的數字並按下輸入PageLoad不會被調用。但在Firefox中這樣做會導致回火。下面是測試代碼

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master"  AutoEventWireup="true" 
CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<h2> 
    Welcome to ASP.NET! 
</h2> 
<p> 
    <asp:Button ID="Button1" runat="server" Text="Button" /> 
    <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Default2.aspx?t=tt& tttttt=2010">HyperLink</asp:HyperLink> 
</p> 
<p> 
    You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&amp;clcid=0x409" 
     title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>. 
</p> 
</asp:Content> 

導航到

<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/Site.master" CodeFile="Default2.aspx.cs" 
Inherits="Default2" %> 

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><asp:Button ID="Button1" 
    runat="server" Text="Button" /> 
</asp:Content> 

OnLoad事件Default2.aspx

protected void Page_Load(object sender, EventArgs e) 
{ 
    Label1.Text += "Called " + DateTime.Now.ToString(); 
} 
+1

你的queston不清楚,所以你可以多解釋一點,併發布你的OnLoad()代碼。 – 2010-12-02 08:21:11

回答

0

我發現了這個問題。看起來像瀏覽器緩存給我的問題。按F12並清除緩存,它就可以工作。