Blazor-选择&循环语句

今天我们来说说Blazor选择语句和循环语句。

下面我们以一个简单的例子来讲解相关的语法,我已经创建好了一个Student类,以此类来进行语法的运用

因为我们需要交互性所以我们将类创建在*.client目录下

@ if

我们做一个学生信息的显示,Gender为0时显示男,为1时显示女,我们的代码可以这样写

csharp 复制代码
@page "/StudentInfo"
@rendermode InteractiveAuto
<h3>StudentInfo</h3>

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>Gender</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>@student.Name</td>
            <td>@student.Age</td>
            @if (student.Gender == 0)
            {
                <td>男</td>
            }
            else
            {
                <td>女</td>
            }
        </tr>
    </tbody>
</table>


@code {
    Student student = new Student()
        {
            Name = "John",
            Age = 20,
            Gender = 0,
        };
}

看看效果

@ Switch

我们的需求发生了变化,Gender添加了2,当Gender为2时,显示未知。

csharp 复制代码
@page "/StudentInfo"
@rendermode InteractiveAuto
<h3>StudentInfo</h3>

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>Gender</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>@student.Name</td>
            <td>@student.Age</td>
            @switch(student.Gender){
                case 0:
                    {
                        <td>男</td>
                        break;
                    }
                case 1:
                    {
                        <td>女</td>
                        break;
                    }
                case 2:
                    {
                        <td>未知</td>
                        break;
                    }

            }
        </tr>
    </tbody>
</table>


@code {
    Student student = new Student()
        {
            Name = "John",
            Age = 20,
            Gender = 2,
        };
}

效果如下

@ foreach

下面我们有一个list需要显示多个学生信息,@for,@do...while,@while 与foreach类似这里就不在赘述

csharp 复制代码
@page "/StudentInfo"
@rendermode InteractiveAuto
<h3>StudentInfo</h3>

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>Gender</th>
        </tr>
    </thead>
    <tbody>

        @foreach (var item in list)
        {
            <tr>
                <td>@item.Name</td>
                <td>@item.Age</td>
                @switch (item.Gender)
                {
                    case 0:
                        {
                            <td>男</td>
                            break;
                        }
                    case 1:
                        {
                            <td>女</td>
                            break;
                        }
                    case 2:
                        {
                            <td>未知</td>
                            break;
                        }

                }
            </tr>
        }
    </tbody>

</table>


@code {
    List<Student> list = new List<Student>();
    Student student1 = new Student()
        {
            Name = "John",
            Age = 20,
            Gender = 2,
        };
    Student student2 = new Student()
        {
            Name = "Sub",
            Age = 22,
            Gender = 0,
        };
    protected override void OnInitialized()
    {
        list.Add(student1);
        list.Add(student2);
    }
}

下次我们将继续讲解语法相关的内容,欢迎大家的关注

相关推荐
Maybe_ch3 天前
Blazo-Blazor Web App项目结构
c#·blazor
Maybe_ch5 天前
ASP.NET Blazor部署方式有哪些?
后端·c#·asp.net·blazor
码农君莫笑7 天前
使用 Blazor 和 Elsa Workflows 作为引擎的工作流系统开发
blazor·工作流
码农君莫笑13 天前
Blazor开发复杂信息管理系统的优势
c#·blazor·信息管理系统·业务系统
码农君莫笑13 天前
Blazor程序系统终端用户加载和运行方式研究
microsoft·c#·blazor·发布
码农君莫笑14 天前
Blazor中Syncfusion Word组件使用方法
microsoft·c#·word·blazor·syncfusion
码农君莫笑14 天前
Blazor中Syncfusion图像编辑器组件使用方法
图像处理·blazor·syncfusion
码农君莫笑16 天前
从 C# 和 WPF 转向 Blazor 开发快速精通方法
c#·wpf·blazor
tianxingzhe373 个月前
使用Radzen Blazor组件库开发的基于ABP框架炫酷UI主题
ui·blazor·abp·.net blazor·radzen blazor