Javascript ASP.NET代码隐藏文件在哪里执行?(客户端或服务器)

Javascript ASP.NET代码隐藏文件在哪里执行?(客户端或服务器),javascript,asp.net,code-behind,execution,Javascript,Asp.net,Code Behind,Execution,我的朋友是一位经验丰富的开发人员(但不熟悉.NET),他问我代码背后的ASP.NET代码实际在哪里执行;在服务器或客户端上。我的假设是,它是在客户端执行的,因此编译为JavaScript,因为代码隐藏文件中的方法将响应客户端事件,例如选择下拉列表,这不会导致回发 我真正想要的是更深入地了解代码隐藏文件中的代码相对于应用程序其余部分的执行方式和位置。 代码隐藏文件在服务器端执行。 ASP.NET可以很容易地从.aspx文件中生成所有的控制变量声明以及呈现方法,作为一个部分类,然后可以与简化的cod

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

我真正想要的是更深入地了解代码隐藏文件中的代码相对于应用程序其余部分的执行方式和位置。

代码隐藏文件在服务器端执行。
ASP.NET可以很容易地从.aspx文件中生成所有的控制变量声明以及呈现方法,作为一个部分类,然后可以与简化的codebehind类合并。这正是Windows窗体在.NET Framework 2.0中的工作方式。所有设计器生成的代码都被放入一个同级部分类中,然后该类与应用程序逻辑和事件处理程序合并到一个单一的表单派生类中,在机器生成的代码和开发人员代码之间创建一个干净的分离,而无需借助继承。

代码隐藏始终在服务器上执行。这就是原因,它也被称为
ASP.NET WebForms
。当网页被执行时,下面是一个简单的例子

  • 网页将作为HTML表单刷新
  • 使用必要的Javascript将Web控件刷新为HTML输入元素
  • Javascript保持原样(除非动态注入)
  • 下一个问题ASP.NET服务器端如何知道我在客户端执行了哪些事件以在服务器端执行适当的事件?

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


    另一个答案中给出的链接应该有助于您了解更多信息。

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


    希望您得到答案。

    TLDR:.NET代码编译成程序集(.DLL)文件,这些文件在服务器上生存和执行

    JavaScript在客户机上执行(通常参见),而.NET代码在服务器上运行。这两种技术通过HTTP请求/响应彼此通信

    当第一次从服务器请求页面时,它会运行所有的.NET代码,服务器的响应是要呈现的HTML。此HTML可能包含指向其他文件的链接,例如脚本或样式表文件。一旦服务器发送响应,它就与页面无关了

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


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

    隐藏的代码将在服务器上执行。你可以在msdn asp.net生命周期上阅读是的,@DanHunex是怎么说的。这里有一篇不错的文章,从广义上介绍了这个主题: