客户端 - 服务器按钮请求

时间:2012-10-16 19:39:23

标签: asp.net

对不起。这对你来说可能非常简单......

我的Web表单中有一个Button。在浏览器中,我打开了Fire Bug并看到了与Button对应的以下HTML

<input type="submit" id="btn" value="Upload" name="btn">

以下是我在服务器端的Button HTML ...

<asp:Button ID="btn" runat="server" Text="Upload" OnClick="ButtonClick" /> 

因此,当用户点击当前位于客户端的按钮时,会调用该按钮的服务器端处理程序。

我的问题是这个映射是如何在内部完成的,我的意思是,用户正在点击客户端的按钮,这是在服务器端执行代码?因为按钮在服务器上不再可用。页面已下载,现在位于客户端。正确?

在Windows窗体应用程序中,理解这个概念非常简单,因为Button事件和处理程序都位于同一个文件中,并且没有Client-Server概念。

2 个答案:

答案 0 :(得分:1)

所有东西都绑定在页面的ViewState中,它在PostBack期间作为参数传递。因此,实际上,按钮继续“生效”,并且各种参数随之传递。如果您查看生成的页面的来源,您将看到__doPostBack JavaScript调用,该调用处理正在发生的实际事件。这是以http POST请求的形式发送的,ViewState为页面的服务器端代码提供任何“有状态”信息。

此处还有更多内容,我建议您研究Asp.Net Page Lifecycle以更全面地了解它。

答案 1 :(得分:0)

按钮单击会调用表单提交,将值发布到您的服务器,然后触发按钮单击事件。