Pré-rendu dans ASP.NET Page Maître des pas de tir
Les deux Page_PreRender
et Page_Load
ne fonctionnent pas dans la Page principale, je suis en train de travailler avec. Page_Init
n'est, cependant, pour une raison quelconque. AutoEventWireup
est définie sur true.
public partial class MyMaster : MasterPage
{
public MyMaster()
{
//tried this too, but doesn't matter whether this LoC
//is there or not
this.PreRender += Page_PreRender;
}
protected void Page_PreRender(object sender, EventArgs e)
{
//does not fire
}
}
Je l'ai essayé dans un Projet Web vide. Il fonctionne très bien.
Edit: j'ai compris que la mise EnableViewState
à true
fixe:
<%@ Master Language="C#" MasterPageFile="~/MainMaster.master" AutoEventWireup="true"
CodeBehind="MyMaster.master.cs" Inherits="MyMaster" EnableViewState="false" %>
Mais je ne veux pas le ViewState être activé. Primordial OnPreRender
fonctionne aussi bien, n'importe quelle valeur EnableViewState
. Maintenant, je me demande pourquoi, et seulement à l'aide de la substitution semble être une hacky pour moi. Quelqu'un peut-il aider?
pourquoi pensez-vous que la méthode de la Piscine sera appelée à tous à l'intérieur de la classe myMaster?
Désolé, c'est le constructeur. Copier+coller-échec lors de la copie de code à partir de plusieurs fenêtres dans le post.
appelez-vous une page de références à la page principale?
Je ne. Cela fonctionne très bien jusqu'à présent, y compris ASP.NET correctement le câblage et l'invocation d'
Vous devez poster le balisage et le code-behind de "dit" de la page principale. Lire ce fil trop - stackoverflow.com/questions/1168189/...
Désolé, c'est le constructeur. Copier+coller-échec lors de la copie de code à partir de plusieurs fenêtres dans le post.
appelez-vous une page de références à la page principale?
Je ne. Cela fonctionne très bien jusqu'à présent, y compris ASP.NET correctement le câblage et l'invocation d'
Page_Init
.Vous devez poster le balisage et le code-behind de "dit" de la page principale. Lire ce fil trop - stackoverflow.com/questions/1168189/...
OriginalL'auteur Matthias Meid | 2011-12-08
Vous devez vous connecter pour publier un commentaire.
Je suggère l'utilisation de
AutoEventWireup
dans la directive de page, de sorte que feriez-vous s'il vous plaît essayer comme ci-dessous:Dans votre page directive
<%@ Page ...
, utilisezAutoEventWireup="true"
et dans la page principale, supprimerPreRender
d'inscription à l'événement:Espère que tout va bien maintenant, merci pour votre temps.
Edit: Veuillez vérifier dans votre
web.config
fichier et assurez-vous queAutoEventWireup
n'est pas définie àFalse
.Ce qui est totalement absurde @Mudu, vous devriez essayer d'abord et doit laisser le moi savoir, merci pour votre temps.
Nous devons avoir mal compris les uns les autres. En effet j'ai essayer ce que vous avez écrit, mais il ne fonctionne pas. D'ailleurs, je n'ai pas le droit de vote en bas de votre réponse, au cas où vous vous sentez offensé.
Oh, désolé pour vous blamer, mais je suis sûr que l'électeur l'a fait intentionnellement, sans essais ou sans les lire.
La modification de la AutoEventWireup à vrai travaillé pour moi.
OriginalL'auteur Elias Hossain