2013-02-12 76 views
0

我的朋友是一位经验丰富的开发人员(但对.NET不熟悉)问我在哪里实现了ASP.NET代码隐藏代码;在服务器或客户端上。我的假设是,它在客户端执行,因此编译为JavaScript,因为代码隐藏文件中的方法将响应客户端事件,例如选择不会导致回发的下拉列表。ASP.NET代码隐藏文件在哪里执行? (客户端或服务器)

我真正想要的是对代码隐藏文件中的代码相对于其他应用程序执行方式/方式的更深入了解。

隐藏文件
+3

后面的代码将在服务器上执行。你可以阅读msdn的asp.net生命周期http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx – 2013-02-12 20:36:58

+0

是啊...... @DanHunex说的。 – 2013-02-12 20:38:19

+0

下面是一个体面的帖子,涵盖了广义的这个主题:http://edndoc.esri.com/arcobjects/9.2/net_server_doc/developer/adf/pagepost_clientcall.htm – jbabey 2013-02-12 20:41:32

回答

1

http://msdn.microsoft.com/en-us/magazine/cc163675.aspx

代码执行服务器端。 除了将.aspx文件中的渲染方法作为可以与简化的代码隐藏类合并的分部类之外,ASP.NET还可以轻松生成所有控件变量声明。这正是Windows Forms在.NET Framework 2.0中的工作原理。所有设计器生成的代码都放置在同级的部分类中,然后与您的应用程序逻辑和事件处理程序合并到一个表单派生类中,从而在不借助继承的情况下在机器生成的代码和开发人员代码之间创建一个干净的分隔。

4

Codebehind始终在服务器上执行。这就是它的原因,它也叫做ASP.NET WebForms。当网页执行时,下面简单介绍一下。

  1. WEB页面被刷新为HTML表单
  2. Web控件就脸红的HTML输入元素必要的Javascript
  3. 的JavaScript保持原样(除非动态注入)

的下一个问题... ASP.NET服务器端如何知道我在客户端执行什么事件以在服务器端执行适当的事件?

答案是,ASP.NET将每个web控件转换为一个或多个html元素&将它们命名为唯一,以便它可以获取生成事件的HTML元素的名称并相应地执行操作。它使用ViewState(除了各种其他用途)来确保html控件名称在往返过程中不被篡改。

其他答案中给出的链接应该可以帮助你更好地理解。

0

文件后面的代码在服务器上执行。互联网上有很多可用的资源。其中一人可能是这个link

希望你有你的答案

1

TLDR:.NET代码编译成集(.dll),其中居住和执行服务器上的文件。

JavaScript在客户端执行(一般参见node.js),.NET代码在服务器上运行。这两种技术通过HTTP请求/响应与任何其他技术进行通信。

当一个页面首先从服务器请求时,它会遍历所有的.NET代码,并且来自服务器的响应是HTML呈现。该HTML可能包含指向其他文件的链接,例如脚本或样式表文件。一旦服务器发送响应,它就与页面无关。

客户端语言(如JavaScript)可以通过完整页面回发,部分回传(UpdatePanels,gross)或AJAX与服务器通信。他们向服务器发送新的请求,服务器用新的页面/ HTML /数据等进行响应。

有关客户端/服务器与Web应用程序交互的更多信息,请参阅this article

相关问题