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

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

相关推荐
known7 天前
基于Blazor实现的跟踪光伏智能运维平台
blazor
W清风大侠M13 天前
基于 Blazor 实现的电梯运行监测系统
blazor
known14 天前
基于 Blazor 实现的电梯运行监测系统
blazor·known
functionMC15 天前
在Vue/Nuxt、React/Next/TanstackStart、RazorPages折腾一圈后,还是回到了Blazor,但这回有SSR+HTMX+Alpine的加持
blazor·alpine·htmx
csdn_aspnet3 个月前
.NET 10 中的 Blazor:新增功能及常见问题
wasm·blazor·.net10
csdn_aspnet3 个月前
Asp.Net Core 10.0 中的 Blazor 增强功能
前端·后端·asp.net·blazor·.net10
许泽宇的技术分享5 个月前
当AI开始“画“界面:A2UI协议如何让.NET应用告别写死的UI
人工智能·ui·.net·blazor·a2ui
许泽宇的技术分享5 个月前
当AI遇见UI:用.NET Blazor实现Google A2UI协议的完整之旅
人工智能·ui·.net·blazor·a2ui
known6 个月前
基于Blazor实现的样品扫码比对管理系统
blazor
Aevget6 个月前
界面控件Telerik UI for Blazor 2025 Q3新版亮点 - 进一步提升AI集成功能
人工智能·ui·界面控件·blazor·telerik