2012-10-16 65 views
1

对不起。这可能是对你很简单...客户端 - 服务器按钮请求

我在Web窗体的按钮。在浏览器中,我打开了火的Bug,看到对应的按钮

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

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

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

那么当用户点击该按钮,现在在客户端,调用按钮的服务器端处理程序。

我的问题是,这是怎么映射正在内部完成,我的意思是,用户是打在客户端上的按钮,这是在执行服务器端的代码?因为按钮在服务器上不再可用。页面被下载,现在它在客户端。对?

在Windows窗体应用程序,这是非常简单的理解这个概念的按钮事件和处理程序都趴在同一个文件中并没有客户端 - 服务器的概念。

+0

我同意@Joel Etherton的答案。当使用ASP.NET WebForms(这种情况)时,答案是有效的。 AMember的答案仅在使用ASP.NET MVC进行开发时才有效。 – Ewerton

回答

1

一切都在页面的ViewState,这是因为回传过程中的参数传递息息相关。所以实际上,按钮继续“活着”,各种参数也随之传递。如果您查看生成的页面的来源,您将看到一个处理正在发生的实际事件的JavaScript调用__doPostBack。这是以http POST请求的形式发送的,ViewState为页面的服务器端代码提供任何“有状态”信息。

有很多更会在这里,我建议你研究的Asp.Net Page Lifecycle更彻底地了解它。

+0

我看着生成页面的来源。不显示'__doPostBack JavaScript调用'。我的服务器HTML是这个'' – testing

+0

您的源代码是在一个单独的文件中还是包含在脚本中? –

+0

这是一个单独的文件; – testing

0

点击该按钮调用表单提交该职位的价值到您的服务器,这反过来又触发按钮单击事件。

相关问题