我几乎感觉不好这个愚蠢的问题,刚刚从VS2008升级到VS2012,我开始创建一个新的Web窗体应用程序,然后在那里你创建了一堆文件和文件夹。当我查看Register.aspx页面时,就有这一行:
<asp:Button runat="server" CommandName="MoveNext" Text="Register" />
当我运行此应用程序时,它实际上工作,它创建一个本地数据库,并将用户插入该数据库。
但是怎么样?我看到没有点击事件,我看到处理MoveNext命令的代码中没有任何功能,这是处理事件的一种新方法吗?魔法在哪里发生?谢谢你们
答案 0 :(得分:2)
这是CreateUserWizard
控制的全部内容。如果您反汇编该类,您将找到一堆知道如何连接到您的标记的代码。我的猜测是某处将MoveNext
命令附加到该用户控件内的事件处理程序。
当您的按钮在页面上进行回发时,将执行控件的生命周期,因此该生命周期中的某个位置都可以正常工作。
答案 1 :(得分:2)
它似乎有点神奇,但它是ASP.NET 4.5 Framework的一部分。它是Register.aspx上的CreateUserWizard控件,有一个名为OnCreatedUser的attribue,用于连接您正在寻找的“click”事件后面的代码。应该叫做RegisterUser_CreatedUser。