aspx和razor的区别

aspx和razor的区别,第1张

ASPX简介:

ASPX文件是微软的在服务器端运行的动态网页文件,通过IIS解析执行后可以得到动态页面,是微软推出的一种新的网络编程方法,而不是ASP的简单升级,因为它的编程方法和ASP有很大的不同,他是在服务器端靠服务器编译执行的程序代码,ASP 使用脚本语言,每次请求的时候,服务器调用脚本解析引擎来解析执行其中的程序代码,而ASP.NET则可以使用多种语言编写,而且是全编译执行的,比ASP 快,而且,不仅仅是快的问题,有很多优点。.asp是asp的文件后缀名,.aspx是asp.net的文件后缀名。

Razor简介:

Razor是一种简单的编程语法,用于在网页中嵌入服务器端代码。Razor 语法基于 ASP.NET 框架,该框架是微软的 .NET 框架特别为 web 应用程序开发而设计的组成部分。Razor 语法赋予所有 ASP.NET 的能力,但是使用了简化过的语法,如果您是初学者,则更容易学习,如果您是专家,则更有利于提高生产力。Razor 网页可被描述为带有两种内容的 HTML 页面:HTML 内容和 Razor 代码。当服务器读取这种页面后,在将 HTML 页面发送到浏览器之前,会首先运行 Razor 代码。这些在服务器上执行的代码能够完成浏览器中无法完成的任务,比如访问服务器数据库。服务器代码能够在页面被发送到浏览器之前创建动态的 HTML 内容。

从浏览器来看的话,由服务器代码生成的 HTML 与静态 HTML 内容没有区别。使用 Razor 语法的 ASP.NET 网页拥有特殊的文件扩展名 cshtml(使用 C# 的 Razor 语法)或者 vbhtml(使用 VB 的 Razor)。

语法区别如下:

cshtml是ASP.net平台的代码文件,原则上讲只有在运行时,cshtml才会动态生成html代码并发送到客户端,所以你想要100%地把cshtml“转换”成html是不可能的,因为你不可能知道所有变量的运行时值。

当然,如果你的cshtml里面没有变量,或包含的全部是可预知值的变量,那么你可以人工将变量值插入html标签,以及手动展开foreach等。

总的来说,cshtml的强大功能就在于动态生成html,要是没有运行时变量,那还不如直接写成静态的html,所以你的这个需求,原则上并不成立,如果你确实需要,建议你重新考虑一下设计思路。

PS:认真学习一下Razor语法,对你理解cshtml有很大帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7536360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存