2017-06-06 48 views

回答

3

Code-behind绝对是服务器端。它运行在您的Web服务器上,并且而不是在用户的浏览器客户端中运行。

此外,在您的*.as?x文件(aspx,ashx,asmx等)中标记为runat="server"的任何内容均在服务器端处理。

1

您的codebehind是用c#编写的。用c#编写的任何东西都运行服务器端。毕竟,您的网页可以显示在任何设备上,包括缺乏.NET CLR的设备;他们怎么可能在iPhone上运行?

此外,任何引用.NET对象的东西也必须运行服务器端。毕竟,如果客户端没有CLR,它就无法与.NET对象通信。当你看到类似这样的标记

<ASP:Button runat="server" id="MyButton"> 

...这意味着代码是设置一个.NET对象的属性(在这种情况下,一个按钮)。所有这些都是服务器端代码。

您的ASP.NET控件发出 HTML标记(其中包括)返回到浏览器并在那里“执行”(解析)的HTML标记。 HTML通常不会出现在您的代码中;它是通过您的代码实时生成,通常通过一种名为Render的方法。

但是,未标记为runat="server"的标记可以插入到您的网页中,并且此标记将与生成的HTML一起发送到浏览器。例如,只有在这个例子中,第二行是服务器端:

<DIV id="This_Is_Client_Side"> 
    <ASP:Button id="This_Is_Server_Side" runat="server" /> 
</DIV> 

此外,任何JavaScript或CSS文件在您的项目将被发送到浏览器那里运行。

几乎一切都是服务器端代码。包含代码隐藏。

相关问题