Mat*_*eid 5 c# asp.net viewstate master-pages autoeventwireup
双方Page_PreRender并Page_Load没有在母版页我一起工作的工作.Page_Init但是,出于任何原因.AutoEventWireup设置为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
}
}
Run Code Online (Sandbox Code Playgroud)
我也在一个空Web项目中尝试过.它工作得很好.
编辑:我想通了,设置EnableViewState以true修复它:
<%@ Master Language="C#" MasterPageFile="~/MainMaster.master" AutoEventWireup="true"
CodeBehind="MyMaster.master.cs" Inherits="MyMaster" EnableViewState="false" %>
Run Code Online (Sandbox Code Playgroud)
但我不希望启用ViewState.OnPreRender无论有什么价值,压倒一切EnableViewState都是有效的.现在我想知道为什么,只是使用覆盖方式对我来说似乎是个hacky.有人可以帮忙吗?
Eli*_*ain -1
我建议在 page 指令中使用AutoEventWireup,所以请尝试如下:
在您的页面指令中 <%@ Page ...,使用AutoEventWireup="true"和 在您的母版页中,删除PreRender事件订阅:
public MyMaster()
{
// tried this too, but doesn't matter whether this LoC
// is there or not
//this.PreRender += Page_PreRender;
}
Run Code Online (Sandbox Code Playgroud)
希望现在一切都好,谢谢您的宝贵时间。
编辑:请签入您的web.config文件并确保AutoEventWireup未将其设置为False.
| 归档时间: |
|
| 查看次数: |
13920 次 |
| 最近记录: |