提问人:DP27 提问时间:6/7/2017 最后编辑:masonDP27 更新时间:6/7/2017 访问量:4401
ASP.net C# 代码隐藏被认为是服务器端还是客户端?
Is ASP.net C# codebehind considered to be server-side or client-side?
答:
6赞
Joel Coehoorn
6/7/2017
#1
代码隐藏绝对是服务器端的。它在您的 Web 服务器上运行,而不是在用户的浏览器客户端中运行。
此外,文件中标记的任何内容(aspx、ashx、asmx 等)都在服务器端处理。runat="server"
*.as?x
3赞
John Wu
6/7/2017
#2
代码隐藏是用 c# 编写的。用 c# 编写的任何内容都会运行服务器端。毕竟,您的网页可以在任何设备上显示,包括缺少 .NET CLR 的设备;它们怎么可能在 iPhone 上运行?
此外,引用 .NET 对象的任何内容也必须在服务器端运行。毕竟,如果客户端没有 CLR,则无法与 .NET 对象通信。当您看到这样的标记时
<ASP:Button runat="server" id="MyButton">
...这意味着代码正在设置 .NET 对象(在本例中为按钮)的属性。所有这些都是服务器端代码。
ASP.NET 控件会发出 HTML 标记(以及其他内容),这些标记将返回到浏览器并在那里“执行”(解析)。HTML 通常根本不存在于您的代码中;它是由您的代码实时生成的,通常通过称为 Render 的方法。
但是,未标记的标记可以插入到您的网页中,并且此标记将与生成的 HTML 一起发送到浏览器。例如,此示例中只有第二行是服务器端的:runat="server"
<DIV id="This_Is_Client_Side">
<ASP:Button id="This_Is_Server_Side" runat="server" />
</DIV>
此外,项目中的任何 Javascript 或 CSS 文件都将发送到浏览器以在那里运行。
几乎所有其他内容都是服务器端代码。包括代码隐藏。
评论