请原谅我对这个问题有点缺乏 ASP.NET 知识:)
场景如下:我正在 VS2010 中玩,我创建了一个新的ASP.NET Web Application
(在 Visual C#、Web 模板下)。没什么特别的,只是一个基本的网络应用程序。没有花哨的 MVC 东西。
模板生成的解决方案中包含一个登录页面;Account/Login.aspx
。在该页面上,有一个登录按钮; HTML 看起来像这样:
<p class="submitButton">
<asp:Button ID="LoginButton"
runat="server"
CommandName="Login"
Text="Log In"
ValidationGroup="LoginUserValidationGroup"/>
</p>
再说一遍,没什么特别的。现在,背后的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Account_Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
RegisterHyperLink.NavigateUrl = "Register.aspx?ReturnUrl=" + HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);
}
}
更不花哨。最后,来自 web.config:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880"/>
</authentication>
So, 这是我不太明白的:当我运行应用程序时,我可以单击Login按钮,应用程序执行此操作某物- 但是代码在哪里某物?
来自 WPF 世界(具有 ASP.NET 的一些背景),我的第一直觉是归零CommandName
- 但是搜索任何与“登录”相关的内容都会变得干燥。我的第二本能是查看隐藏的代码,但同样,它非常稀疏,我没有看到任何看起来与单击登录按钮有关的内容。
那么这个按钮背后的“魔力”发生在哪里呢?必须有某物;我觉得我忽略了一些就在我眼前的东西。