我有一个问题,即当我导航到页面并更改查询字符串时,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