需要 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 有效吗?
谢谢大家!
when i create an aspx page, the header includes something like this:-
<%@ Page
Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
AutoEventWireup="true"
CodeBehind="Create.aspx.cs"
Inherits="My.Mvc.Views.Blah" %>
With ASP.NET MVC apps, do we:
- need to include this AutoEventWireUp attribute?
- What happens if we set this to false?
- what does this attribute really do? is it valid for ASP.NET MVC?
thanks heaps folks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以删除此属性,或将其设置为 false(这是默认值)。
AutoEventWireup 意味着 ASP.NET 将在运行时使用反射以 Page_EventName 的形式在 Web 表单类上查找方法(如 Page_Load、Page_Init 等),并自动将这些方法连接到相应的页面生命周期事件。 我在这里有更多详细信息: http://odetocode.com /Blogs/scott/archive/2006/02/16/2914.aspx
在 MVC 中,作为一般规则,您应该避免为页面生命周期和一般代码隐藏连接事件处理程序。
You can get rid of this attribute, or set it to false (which is the default).
AutoEventWireup means ASP.NET will use reflection at runtime to look for methods on your web form class in the form of Page_EventName (like Page_Load, Page_Init, etc), and automatically wire the methods to the corresponding page lifecycle events. I have some more details here: http://odetocode.com/Blogs/scott/archive/2006/02/16/2914.aspx
In MVC you should, as a general rule, avoid wiring up event handlers for the page lifecycle and code-behind in general.
抱歉 - ASP.NET 中的默认值为 true,因此您应该在 @ Page 指令中显式将 AutoEventWireup 设置为 false,或者将其删除并在 MVC 的 web.config 的页面部分中将其设置为 false。
Sorry - the default is true in ASP.NET, so you should explicitly set AutoEventWireup to false in the @ Page directive, or remove it and set it to false in pages section of web.config for MVC.