在.NET 4.5中不需要单击事件?

时间:2013-06-13 19:05:20

标签: event-handling asp.net-4.5

我几乎感觉不好这个愚蠢的问题,刚刚从VS2008升级到VS2012,我开始创建一个新的Web窗体应用程序,然后在那里你创建了一堆文件和文件夹。当我查看Register.aspx页面时,就有这一行:

<asp:Button runat="server" CommandName="MoveNext" Text="Register" />

当我运行此应用程序时,它实际上工作,它创建一个本地数据库,并将用户插入该数据库。

但是怎么样?我看到没有点击事件,我看到处理MoveNext命令的代码中没有任何功能,这是处理事件的一种新方法吗?魔法在哪里发生?谢谢你们

2 个答案:

答案 0 :(得分:2)

这是CreateUserWizard控制的全部内容。如果您反汇编该类,您将找到一堆知道如何连接到您的标记的代码。我的猜测是某处将MoveNext命令附加到该用户控件内的事件处理程序。

当您的按钮在页面上进行回发时,将执行控件的生命周期,因此该生命周期中的某个位置都可以正常工作。

答案 1 :(得分:2)

它似乎有点神奇,但它是ASP.NET 4.5 Framework的一部分。它是Register.aspx上的CreateUserWizard控件,有一个名为OnCreatedUser的attribue,用于连接您正在寻找的“click”事件后面的代码。应该叫做RegisterUser_CreatedUser。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.createuserwizard.oncreateduser.aspx