ASP.NET Razor
{{Short description|Programming syntax for ASP.NET}}
{{Infobox software
| name = Razor
| logo =
| screenshot =
| caption =
| author = Microsoft
| developer = .NET Foundation
| released = {{Start date and age|2010|06}}
| latest_release_version = 3.2.7
| latest_release_date = {{Start date and age|2018|11|29}}{{cite web |title=Microsoft ASP.NET Razor |url=https://www.nuget.org/packages/Microsoft.AspNet.Razor/ |website=NuGet}}
| latest preview version = 4.0.0-rc1
| latest preview date = {{Start date and age|2015|11|18}}
| repo = {{URL|https://github.com/aspnet/Razor}}
{{URL|https://github.com/aspnet/AspNetWebStack}}
{{URL|https://github.com/dotnet/aspnetcore}}
| programming language = C#, VB.NET, HTML
| operating system = Microsoft Windows{{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}}
| genre = Web application framework
| license = Apache License 2.0{{cite web |url=https://github.com/aspnet/Razor/blob/master/LICENSE.txt |title=Razor/LICENSE.txt at master · aspnet/Razor · GitHub |work=GitHub|date=12 October 2022 }}
| website = {{URL|http://www.asp.net/web-pages}}
}}
{{Infobox file format
| name = Razor file formats
| icon =
| logo =
| extension = .razor
, .cshtml
, .vbhtml
| mime = text/html
| magic =
| owner = Microsoft
| released =
| latest release version =
| latest release date =
| genre =
| container for =
| contained by =
| extended from =
| extended to =
| standard =
| free =
| url =
}}
Razor is an ASP.NET programming syntax used to create dynamic web pages with the C# or VB.NET programming languages. Razor was in development in June 2010{{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 }} and was released for Microsoft Visual Studio 2010 in January 2011.{{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|url-status=dead}} Razor is a simple-syntax view engine and was released as part of MVC 3 and the WebMatrix tool set.
Razor became a component of AspNetWebStack and then became a part of ASP.NET Core.{{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}}
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 <%= %>
symbols to indicate code blocks, Razor syntax starts code blocks with an @
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.{{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 }} 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. Other advantages that have been noted:{{cite web|url=https://stackoverflow.com/questions/1451319/asp-net-mvc-view-engine-comparison|title=ASP.NET MVC View Engine Comparison|work=stackoverflow.com}}
- Supports IntelliSense – statement completion support
- Supports "layouts" – an alternative to the "master page" concept in classic Web Forms (.aspx)
- Unit testable
See also
{{Portal|Free and open-source software}}
References
{{Reflist}}
External links
{{Wikibooks|.NET Development Foundation}}
- [https://docs.microsoft.com/en-us/aspnet/core/razor-pages/ Introduction to Razor Pages in ASP.NET Core] at Microsoft Docs
- [https://docs.microsoft.com/en-us/aspnet/web-pages/ ASP.NET Web Pages] at Microsoft Docs
- [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: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