0

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

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

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

但是如何?我看不到点击事件,我在处理 MoveNext 命令的代码中看不到任何函数,这是一种处理事件的新方法吗?魔法发生在哪里?感谢你们

4

2 回答 2

2

这都是CreateUserWizard控制的一部分。如果你反汇编那个类,你会发现一堆知道如何连接到你的标记的代码。我的猜测是某处将MoveNext命令附加到该用户控件内的事件处理程序。

当您的按钮在页面上进行回发时,将执行控件的生命周期,因此该生命周期中的某个地方就是所有工作。

于 2013-06-13T19:15:25.837 回答
2

这看起来有点神奇,但它是 ASP.NET 4.5 框架的一部分。它是 Register.aspx 上的 CreateUserWizard 控件,有一个名为 OnCreatedUser 的属性,它连接了您正在寻找的“单击”事件背后的代码。应称为 RegisterUser_CreatedUser。

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

于 2013-06-13T19:16:40.543 回答