J'ai un problème que l'événement OnLoad ne déclenche pas lorsque je navigue vers une page et que je modifie simplement la chaîne de requête. Si je fais une publication, elle est appelée, puis en changeant la chaîne de requête, on appelle OnLoad plus.Page OnLoad ne déclenche pas la modification de la chaîne de requête
Voici comment j'essaie. Je navigue vers la page OnLoad fires -> puis change les mises à jour de la page de chaîne de requête (tous les éléments liés sont mis à jour) OnLoad ne se déclenche pas -> Je fais une publication en utilisant un bouton OnLoad tire -> alors change la chaîne de requête OnLoad fires.
Je vais essayer d'expliquer plus en détail. Le système a une fenêtre de connexion lorsque je me connecte Je navigue vers une autre page aspx en envoyant deux messages de chaîne de requête La dernière chaîne de requête est un nombre (page.aspx? Key = text82 & key2 = 2010). Quand j'arrive à la page, la première fois que l'événement PageLoad est appelé et tout va bien, si je dans le navigateur change la clé2 à 2011 et appuie sur Entrée, le PageLoad n'est pas appelé mais tous mes éléments liés sont mis à jour (GrivView etc.) . Si je fais ensuite une publication en utilisant un bouton, le PageLoad est appelé. Si je change maintenant le 2011 en 2010 et appuie sur Entrer PageLoad est appelé.
J'essaie c'est firefox le PageLoad est appelé à chaque fois. Je suis fatigué d'écrire un site Web de test mais je n'ai pas le même problème, mais ce que j'ai découvert est que dans IE 8 changer la chaîne de requête au même numéro et en appuyant sur Entrée le PageLoad n'est pas appelé. Mais le faire dans firefox rend le feu postback. Voici le code de test
<%@ 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>
Accède
<%@ 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>
événement OnLoad Default2.aspx
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text += "Called " + DateTime.Now.ToString();
}
votre queston n'est pas clair alors pouvez-vous expliquer un peu plus et aussi publier votre code OnLoad(). –
Ce que Jeevan a dit; Indiquez également pourquoi vous ne pensez pas que l'événement Load est appelé. Assurez-vous d'inclure toute la méthode, y compris la signature. Incluez également probablement le code dans lequel vous configurez le gestionnaire d'événements, si c'est ce que vous faites, et indiquez-nous également où se trouve ce code. –
Je vais essayer d'écrire un peu de code là-dessus, car OnLoad est appelé à chaque fois que vous utilisez Firefox. – Gaotter