Asp.net mvc 是否需要ASP.NET MVC AutoEventWireup?

Asp.net mvc 是否需要ASP.NET MVC AutoEventWireup?,asp.net-mvc,autoeventwireup,Asp.net Mvc,Autoeventwireup,创建aspx页面时,页眉包括以下内容:- <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" CodeBehind="Create.aspx.cs" Inherits="My.Mvc.Views.Blah" %> 使用ASP.NET MVC应用程序,我们是否: 需要包含此AutoEventWireUp属性吗?

创建aspx页面时,页眉包括以下内容:-

<%@ Page
    Language="C#" 
    MasterPageFile="~/Views/Shared/Site.Master" 
    AutoEventWireup="true" 
    CodeBehind="Create.aspx.cs" 
    Inherits="My.Mvc.Views.Blah" %>
使用ASP.NET MVC应用程序,我们是否:

需要包含此AutoEventWireUp属性吗? 如果我们将其设置为false,会发生什么? 这个属性真正的作用是什么?它对ASP.NET MVC有效吗?
谢谢大家

您可以删除此属性,或将其设置为默认值false

AutoEventWireup意味着ASP.NET将在运行时使用反射在web窗体类上以Page_EventName(如Page_Load、Page_Init等)的形式查找方法,并自动将这些方法关联到相应的页面生命周期事件。我在这里有更多的细节:


在MVC中,一般来说,您应该避免为页面生命周期和代码隐藏连接事件处理程序

抱歉-ASP.NET中的默认值为true,因此您应该在@Page指令中将AutoEventWireup显式设置为false,或者在MVC的web.config的pages部分将其删除并设置为false

只是一个小的澄清:事件连接不是在运行时使用反射执行的,它是在编译ASPX时连接的AutoEventWireUp是事件的运行时连接。代码以TemplateControl类的挂钩自动转换器开始,并且运行时行为有很好的文档记录。