我有一個問題,即當我導航到頁面並更改查詢字符串時,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&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();
}
你的queston不清楚,所以你可以多解釋一點,併發布你的OnLoad()代碼。 – 2010-12-02 08:21:11