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}}

See also

{{Portal|Free and open-source software}}

References

{{Reflist}}