当前位置: 代码网 > it编程>编程语言>Asp.net > Razor常用语法介绍及示例

Razor常用语法介绍及示例

2024年05月15日 Asp.net 我要评论
@using@using 指令用于向生成的视图添加 c# using 指令:@using system.io@{ var dir = directory.getcurrentdirectory(

@using

@using 指令用于向生成的视图添加 c# using 指令:

@using system.io
@{
    var dir = directory.getcurrentdirectory();
}
<p>@dir</p>

@page

@page 指令具有不同的效果,具体取决于其所在文件的类型。 指令:

在 .cshtml 文件中表示该文件是 razor page**。 有关详细信息,请参阅自定义路由和 asp.net core 中的 razor 页面介绍

指定 razor 组件应直接处理请求。 有关详细信息,请参阅 asp.net core blazor 路由

@namespace

设置生成的 razor 页面、mvc 视图或 razor 组件的类的命名空间。

@layout

@layout 指令指定 razor 组件的布局。 布局组件用于避免代码重复和不一致。

@inject

@inject 指令允许 razor 页面将服务从服务容器注入到视图。

@implements

@implements 指令为生成的类实现接口。
以下示例实现 system.idisposable,以便可以调用 dispose 方法:

    
<h1>example</h1>

@functions {
    private bool _isdisposed;

    ...

    public void dispose() => _isdisposed = true;
}

@code

@code 块允许 razor 组件将 c# 成员(字段、属性和方法)添加到组件中。

    @code {
    // c# members (fields, properties, and methods)
}

@attribute

@attribute 指令将给定的属性添加到生成的页或视图的类中。 以下示例添加 [authorize] 属性:

@attribute [authorize]

注释

@{
    /* c# comment */
    // another c# comment
}
<!-- html comment -->

转义

如果需要针对@转义, 使用@@即可, 因为@为razor的语法。

呈现html

@("<span>hello world</span>")

<span>hello world</span>

try、catch、finally

与c#语法相似, 使用@前缀声明即可。

    {
    throw new invalidoperationexception("you did something invalid.");
}
catch (exception ex)
{
    <p>the exception message: @ex.message</p>
}
finally
{
    <p>the finally statement.</p>
}

循环语句for、foreach、while 和 dowhile

  • @for
@for (var i = 0; i < people.length; i++)
{
    var person = people[i];
    <p>name: @person.name</p>
    <p>age: @person.age</p>
}
  • @foreach
@foreach (var person in people)
{
    <p>name: @person.name</p>
    <p>age: @person.age</p>
}
  • @while
@{ var i = 0; }
@while (i < people.length)
{
    var person = people[i];
    <p>name: @person.name</p>
    <p>age: @person.age</p>

    i++;
}
  • @do while
@{ var i = 0; }
@do
{
    var person = people[i];
    <p>name: @person.name</p>
    <p>age: @person.age</p>

    i++;
} while (i < people.length);

条件语句 if、else if、else 和 switch

@if (value % 2 == 0)
{
    <p>the value was even.</p>
}

@if (value % 2 == 0)
{
    <p>the value was even.</p>
}
else if (value >= 1337)
{
    <p>the value is large.</p>
}
else
{
    <p>the value is odd and small.</p>
}

@switch (value)
{
    case 1:
        <p>the value is 1!</p>
        break;
    case 1337:
        <p>your number is 1337!</p>
        break;
    default:
        <p>your number wasn't 1 or 1337.</p>
        break;
}

更多语法介绍

到此这篇关于razor常用语法介绍及示例的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com