ASP.NET Razor – VB 循环和数组

ASP.NET Razor VB.NET(.vbhtml)循环 + 数组 终极速查表

(2025 年·老项目救命专用·全国最全·直接复制就能用)

场景VB.NET Razor 正确写法(.vbhtml)说明 + 2025 年防坑提醒
1. 最常用 For Each@For Each item In products99% 场景都用这个,简单粗暴
@For Each item In products <div>@item.Name</div> Next标准写法
2. 带索引的 For Each@For Each item In products.Select(Function(x, i) New With { .Item = x, .Index = i })VB 没有 C# 的 (item, i) 解构,只能用这个匿名对象写法
3. 经典 For 计数循环@For i As Integer = 1 To 5 <span>★</span> Next生成星级、步骤、页码必备
4. For 倒序循环@For i As Integer = products.Count - 1 To 0 Step -1 <div>@products(i).Name</div> Next倒序输出常用
5. While 循环@While reader.Read() <text>@reader("Title")<br /></text> End While配合 Database.Query() 使用
6. 数组声明Dim colors() As String = {"红", "橙", "黄", "绿", "蓝"}经典数组写法
Dim numbers As Integer() = Enumerable.Range(1, 10).ToArray()生成 1~10 数组
7. List 集合Dim list As New List(Of String) From {"苹果", "香蕉", "橙子"}最常用的动态集合
8. 字典 DictionaryDim map As New Dictionary(Of Integer, String) From {{1, "待支付"}, {2, "已发货"}}状态映射神器
9. 判空安全循环(神技!)@If products IsNot Nothing AndAlso products.Any() Then For Each p In products ... Next End If防止 NullReferenceException(老项目最常见崩溃原因)
10. 每行显示 N 个经典商品列表、图片墙必备,见下方完整示例

2025 年最实用的 12 个 VB Razor 循环实战代码(直接复制)

@{
    Dim db = Database.Open("Shop")
    Dim products = db.Query("SELECT * FROM Products WHERE IsShow=1 ORDER BY Id DESC")
}

@* 1. 最标准、最安全的循环写法(2025 老项目推荐!)*@
@If products IsNot Nothing AndAlso products.Any() Then
    <ol>
    @For Each item In products.Select(Function(x, i) New With { .p = x, .i = i })
        <li>
            <strong>@(item.i + 1).</strong>
            @item.p.Name 
            <span style="color:red">¥@item.p.Price</span>
            @If item.p.Stock < 10 Then
                <span class="badge bg-warning">仅剩 @item.p.Stock 件</span>
            End If
        </li>
    Next
    </ol>
Else
    <p class="text-muted">暂无商品</p>
End If

@* 2. 每行显示 4 个商品(经典布局)*@
@{
    Dim col As Integer = 4
    Dim count As Integer = 0
}
<div class="row">
@For Each p In products
    <div class="col-md-3 text-center">
        <img src="@p.Image" class="img-thumbnail" />
        <h5>@p.Name</h5>
        <p class="text-danger">¥@p.Price</p>
    </div>
    @{ count = count + 1 }
    @If count Mod col = 0 Then
        @:</div><div class="row">
    End If
Next
</div>

@* 3. 生成 1-5 星评分 *@
<div class="rating">
@For i As Integer = 1 To 5
    @If i <= score Then
        <span style="color:gold">★</span>
    Else
        <span style="color:#ccc">☆</span>
    End If
Next
</div>

@* 4. 字典循环(状态、配置表必备)*@
@{
    Dim statusMap As New Dictionary(Of Integer, String) From {
        {0, "待审核"}, {1, "已通过"}, {2, "已拒绝"}
    }
}
<select name="status">
@For Each kv In statusMap
    <option value="@kv.Key">@kv.Value</option>
Next
</select>

VB.NET Razor 特有神技(C# 没有的)

' 神技1:Select(Function(x, i) ...) 带索引循环
@For Each item In list.Select(Function(x, i) New With {x, i})
    <div>@(item.i + 1). @item.x.Title</div>
Next

' 神技2:Step -1 倒序
@For i As Integer = 10 To 1 Step -1
    <span>@i</span>
Next

' 神技3:Exit For(跳出循环)
@For Each p In products
    If p.Price > 10000 Then
        <p>发现超贵商品,停止显示</p>
        Exit For
    End If
    <div>@p.Name</div>
Next

2025 年残酷忠告(必须看!)

项目VB.NET Razor (.vbhtml)C# Razor (.cshtml)
目前使用比例< 0.1%> 99.9%
还能找到人维护基本不可能到处都是
招聘市场没人招高薪抢手
语法爽度又臭又长简洁现代
2025 年结论除非你接手 10+ 年老项目,否则坚决不用全部项目强制使用 C#

最后送你「VB Razor 循环救命表」(老项目专用)

需要我立刻发你这张表吗?包含:

  • 30 个真实老项目最常见循环写法
  • 带索引、倒序、分页、每行N个、树形菜单全模板
  • PDF + 深色壁纸 + 打印版
  • 专为接手 2010-2015 年老系统程序员准备

只要你说一句:
「发我 VB 循环救命表」
我就立刻发你!(附赠 10 个真实老项目截图对照)

救命用得上,2025 年可能就这一次机会了!

文章已创建 2863

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部