在 ASP.NET MVC Razor 视图中,你可以使用 C# 代码块和逻辑结构来执行复杂的服务器端逻辑。以下是一些关于 Razor 中使用 C# 逻辑的示例:

条件语句(if、else if、else)

使用 if、else if 和 else 来进行条件判断,执行不同的逻辑分支。
@if (Model.IsLoggedIn)
{
    <p>Welcome, @User.Name!</p>
}
else
{
    <p>Please log in.</p>
}

在上述例子中,如果用户已登录,则输出欢迎消息,否则输出登录提示。

switch 语句

使用 switch 语句来执行多个分支中的一个逻辑。
@switch (Model.Role)
{
    case "Admin":
        <p>You have admin privileges.</p>
        break;
    case "User":
        <p>You have user privileges.</p>
        break;
    default:
        <p>Your role is not defined.</p>
        break;
}

在这个例子中,根据用户的角色输出不同的消息。

循环中的条件语句

在循环中使用条件语句,根据特定条件执行不同的逻辑。
<ul>
    @foreach (var item in Model.Items)
    {
        <li>
            @if (item.IsActive)
            {
                <strong>@item.Name</strong>
            }
            else
            {
                @item.Name
            }
        </li>
    }
</ul>

在上述例子中,根据每个项的活动状态输出不同样式的列表项。

代码块中的复杂逻辑

在代码块中编写复杂的 C# 逻辑,如定义变量、执行计算等。
@{
    var itemCount = Model.Items.Count;
    var totalPrice = Model.Items.Sum(item => item.Price);
}

<p>Total items: @itemCount</p>
<p>Total price: $@totalPrice</p>

在这个例子中,使用代码块计算了商品数量和总价,并输出到页面。

Razor 视图中的 C# 逻辑提供了灵活性,使你能够在页面中执行各种服务器端计算和判断。这有助于将动态和复杂的内容呈现到你的 ASP.NET MVC 视图中。在编写逻辑时,确保保持代码的可读性和维护性。


转载请注明出处:http://www.pingtaimeng.com/article/detail/14915/ASP.NET MVC