2

当我创建一个 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 有效吗?

谢谢大家!

4

2 回答 2

3

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

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

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

于 2008-11-09T14:54:09.700 回答
2

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

于 2008-11-09T19:57:05.890 回答