需要ASP.NET MVC AutoEventWireup吗?

时间:2008-11-09 14:29:56

标签: 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有效吗?

感谢大家!

2 个答案:

答案 0 :(得分:3)

您可以删除此属性,或将其设置为false(这是默认值)。

AutoEventWireup意味着ASP.NET将在运行时使用反射以Page_EventName的形式在Web表单类中查找方法(如Page_Load,Page_Init等),并自动将方法连接到相应的页面生命周期事件。我在这里有更多详细信息:http://odetocode.com/Blogs/scott/archive/2006/02/16/2914.aspx

在MVC中,作为一般规则,您应该避免为页面生命周期和代码隐藏整理事件处理程序。

答案 1 :(得分:2)

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