ASP.NET Razor: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
 
(35 intermediate revisions by 20 users not shown)
Line 1:
{{Short description|Programming syntax for ASP.NET}}
{{Infobox software
| name = Razor
Line 4 ⟶ 5:
| screenshot =
| caption =
| developerauthor = [[Microsoft]]
| released developer = {{start date and[[.NET age|2010|06}}Foundation]]
| released = {{Start date and age|2010|06}}
| latest_release_version = 3.2.37
| latest_release_date = {{startStart date and age|20152018|0211|0929}}<ref>{{cite web |title=Microsoft ASP.NET Razor |url=https://www.nuget.org/packages/Microsoft.AspNet.Razor/ |website=[[NuGet]]}}</ref>
| latest preview version = 4.0.0-rc1
| latest preview date = {{Start date and age|2015|11|18}}
| repo = {{URL|https://github.com/aspnet/Razor}}<br />{{URL|https://github.com/aspnet/AspNetWebStack}}<br />{{URL|https://github.com/dotnet/aspnetcore}}
| genre = [[Web application framework]]
| license = [[Apache License|Apache 2.0]]<ref>{{cite web|url=https://github.com/aspnet/Razor/blob/dev/LICENSE.txt|title=Razor/LICENSE.txt at dev · aspnet/Razor · GitHub|work=GitHub}}</ref>
| programming language = [[C Sharp (programming language)|C#]], [[Visual Basic .NET|VB.NET]], [[HTML]]
| operating system = [[Microsoft Windows]]<ref>{{cite web |title=Introduction to Razor Pages in ASP.NET Core |url=https://learn.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-6.0&tabs=visual-studio |website=learn.microsoft.com | date=27 September 2024 |language=en-us}}</ref>
| operating system = [[Microsoft Windows]]
| genre = [[Web application framework]]
| license = [[Apache License|Apache 2.0]]<ref>{{cite web |url=https://github.com/aspnet/Razor/blob/devmaster/LICENSE.txt |title=Razor/LICENSE.txt at devmaster · aspnet/Razor · GitHub |work=GitHub|date=12 October 2022 }}</ref>
| website = {{URL|http://www.asp.net/web-pages}}
}}
Line 20 ⟶ 23:
| icon =
| logo =
| extension = <code>.razor</code>, <code>.cshtml</code>, <code>.vbhtml</code>
| mime = text/html
| magic =
Line 36 ⟶ 39:
| url =
}}
'''Razor''' is an [[ASP.NET]] programming syntax used to create [[dynamic web page]]s with the [[C Sharp (programming language)|C#]] or [[Visual Basic .NET|VB.NET]] programming languages. Razor was in development in June 2010<ref name="IntroducingRazor">{{cite web|url=http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx|title=ScottGu's Blog - Introducing "Razor" – a new view engine for ASP.NET|work=asp.net|date=3 July 2010 }}</ref> and was released for Microsoft [[Visual Studio]] 2010 in January 2011.<ref name="RazorsyntaxSupport">{{cite web|url=http://blogs.msdn.com/b/webdevtools/archive/2011/01/12/how-to-get-razor-syntax-support-in-visual-studio-2010.aspx|title=MSDN Blogs|publisher=Microsoft|work=msdn.com|access-date=2011-07-08|archive-url=https://web.archive.org/web/20120702131534/http://blogs.msdn.com/b/webdevtools/archive/2011/01/12/how-to-get-razor-syntax-support-in-visual-studio-2010.aspx|archive-date=2012-07-02|deadurl-url=yes|dfstatus=dead}}</ref> Razor is a simple-syntax view engine and was released as part of [[ASP.NET MVC|MVC]] 3 and the [[WebMatrix]] tool set.<ref name="RazorsyntaxSupport" />
 
Razor became a component of AspNetWebStack and then became a part of [[ASP.NET Core]].<ref>{{cite book |last1=Chadwick |first1=Jess |title=Programming Razor: Tools for Templates in ASP.NET MVC or WebMatrix |date=9 September 2011 |publisher="O'Reilly Media, Inc." |isbn=978-1-4493-1716-4 |url=https://books.google.com/books?id=z3QlDSjr0jYC&q=ASP.NET+Razor |language=en}}</ref>
 
== Design==
The Razor syntax is a template markup syntax, based on the C# programming language, that enables the programmer to use an HTML construction workflow.{{clarify|date=June 2013}} Instead of using the ASP.NET Web Forms (.aspx) markup syntax with <code><%= %></code> symbols to indicate code blocks, Razor syntax starts code blocks with an <code>@</code> character and does not require explicit closing of the code-block.
 
The idea behind Razor is to provide an optimized syntax for HTML generation using a code-focused templating approach, with minimal transition between HTML and code.<ref name=MVC3rve>{{cite web|url=http://www.asp.net/mvc/videos/mvc-3/mvc-3-razor-view-engine|title=MVC 3 - Razor View Engine|author=Jon Galloway|work=The Official Microsoft ASP.NET Site|date=19 February 2020 }}</ref> The design reduces the number of characters and keystrokes, and enables a more fluid coding workflow by not requiring explicitly denoted server blocks within the HTML code.<ref name="IntroducingRazor" /> Other advantages that have been noted:<ref name=pro1>{{cite web|url=https://stackoverflow.com/questions/1451319/asp-net-mvc-view-engine-comparison|title=ASP.NET MVC View Engine Comparison|work=stackoverflow.com}}</ref>
* Supports [[IntelliSense]] – statement completion support
* Supports "layouts" – an alternative to the "master page" concept in classic [[ASP.NET Web Forms|Web Forms]] (.aspx)
* [[Unit testing|Unit testable]]
 
== See also ==
{{Portal|Free and open-source software}}
* [[Blazor]]
 
== References ==
Line 51 ⟶ 60:
 
== External links ==
{{Wikibooks|.NET Development Foundation}}
* [http://www.asp.net/web-pages/overview/getting-started/introducing-aspnet-web-pages-2/getting-started Getting Started with WebMatrix and ASP.NET Web Pages]
* [https://docs.microsoft.com/en-us/aspnet/core/razor-pages/ Introduction to Razor Pages in ASP.NET Core] at [[Microsoft Docs]]
* [http://www.asp.net/mvc ASP.NET Model View Controller]
** [https://docs.microsoft.com/en-us/aspnet/web-pages/ ASP.NET Web Pages] at [[Microsoft Docs]]
* {{GitHub|aspnet/Razor}}
* [https://docs.microsoft.com/en-us/aspnet/core/mvc/overview Overview of ASP.NET Core MVC] at [[Microsoft Docs]]
** [https://docs.microsoft.com/en-us/aspnet/mvc/ ASP.NET MVC] at [[Microsoft Docs]]
* {{GitHub|aspnet/Razor}} (archived). Current development is held at {{GitHub|dotnet/aspnetcore}}
 
{{.NET Framework}}
{{Microsoft FOSS}}
{{Web frameworks}}
 
[[Category:ASP.NET|Razor]]
[[Category:2010 software]]
[[Category:Free and open-source software]]
[[Category:Free software programmed in C Sharp]]
[[Category:Microsoft application programming interfaces]]
[[Category:Microsoft free software]]
[[Category:Microsoft Visual Studio]]
[[Category:Software using the Apache license]]
[[Category:Template engines]]
[[Category:Web frameworks]]
[[Category:Windows-only free software]]
 
{{Portal bar|.NET Framework}}