You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将C# Razor分页for循环正确转换为VB.NET Razor语法

C# Razor 转 VB.NET Razor 分页代码正确写法

正确转换后的代码

你提供的C# Razor分页代码,对应可直接运行的VB.NET Razor写法如下:

<div>
    <ul class="pagination">
    @For i = 1 To Model.TotalPages
        @<li class="page-item @(If(i = Model.CurrentPage, "active", ""))">
            <a asp-page="/Index" asp-route-currentpage="@i" class="page-link">@i</a>
        </li>
    Next
    </ul>
</div>

你原有转换代码的错误点

你自行编写的代码无法运行,是因为存在以下几处语法和逻辑问题:

  • 多余外层循环:原始C#代码直接访问当前分页模型的TotalPages属性,不需要额外加For Each item In Model遍历Model
  • 条件判断语法错误:VB.NET不支持C#的? :三元运算符,要使用If(判断条件, 真值返回结果, 假值返回结果)的内置写法;同时VB.NET的相等比较运算符是=,不是C#的==
  • 冗余计数逻辑:VB.NET的For...To循环会自动完成循环变量的递增,不需要手动写i += 1,手动累加反而会导致页码跳页、少渲染分页项
  • HTML标签语法错误:你代码里的</li>闭合标签漏写了开头的<,同时缺失了最外层的<div>和</ul>闭合标签
  • Razor语法规则不匹配:VB.NET Razor的For循环块内,HTML标签前加@标识内容输出即可,不需要重复给循环本身加多余的@前缀

内容的提问来源于stack exchange,提问作者Jazz_Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 00:01:18