我在What Great .NET Developers Ought To Know 中看到了这个问题——作者:Scott Hanselman
我不太确定,但据我所知,按钮控件被呈现为 HTML,输入标签为提交(带有动态 ID)。当触发 POST 事件时,ASP.Net 使用动态生成的按钮 ID 并匹配 C# 端的相应按钮单击事件......
请让我知道,如果我的理解是正确的。认为它可能完全错误或断章取义。
更新:-
我做了一点谷歌,发现了这个链接,它声明为
HTML 中的 ASP.NET Button 控件是一个 HTML 输入元素,其 type 属性设置为“提交”。HTML 中的提交按钮调用 POST,使用来自表单元素的 action 属性,对于 ASP.NET,它是当前页面。由于这是一个 POST,表单变量由表单元素中输入元素的所有值填充,包括提交按钮的值(名称)。当 POST 到达服务器并被 ASP.NET 解析时,它会确认 POST 是由提交按钮发起的,这会变成原始 ASP.NET Button 控件的 Click 事件。