我想说的只是来自我的阅读和理解,但是我希望得到一些澄清。谢谢。
答案 0 :(得分:3)
代码隐藏绝对是服务器端。它在您的Web服务器上运行,而不在用户的浏览器客户端中。
此外,runat="server"
文件(aspx,ashx,asmx等)中标记为*.as?x
的任何内容都在服务器端处理。
答案 1 :(得分:1)
您的代码隐藏是用c#编写的。用c#编写的任何东西都运行服务器端。毕竟,您的网页可以显示在任何设备上,包括缺少.NET CLR的设备;他们怎么可能在iPhone上运行?
此外,引用.NET对象的任何内容也必须在服务器端运行。毕竟,如果客户没有CLR,客户端就无法与.NET对象交谈。当你看到像这样的标记时
<ASP:Button runat="server" id="MyButton">
...这意味着代码正在设置.NET对象的属性(在本例中为一个按钮)。所有这些都是服务器端代码。
您的ASP.NET控件发出 HTML标记(以及其他内容),这些标记将返回到浏览器并执行&#34;执行&#34; (解析)那里。 HTML通常根本不存在于您的代码中;您的代码实时生成,通常是通过名为Render的方法生成。
但是,未标记为runat="server"
的标记可以插入到您的网页中,此标记将与生成的HTML一起发送到浏览器。例如,此示例中只有第二行是服务器端:
<DIV id="This_Is_Client_Side">
<ASP:Button id="This_Is_Server_Side" runat="server" />
</DIV>
此外,项目中的任何Javascript或CSS文件都将发送到浏览器以在那里运行。
几乎所有其他东西都是服务器端代码。包括代码隐藏。