簡體   English   中英

為什么.Net MVC5中的foreach不循環?

[英]Why foreach in .Net MVC5 does not loop?

以我對.Net MVC5的有限經驗,我嘗試編寫以下代碼:

<div class="row ">
@foreach (var item in Model)
{
    string[] parm = new string[] { "btn-primary", "btn-success", "btn-info", "btn-warning", "btn-danger" };
    Random r = new Random();
    string temp = parm[r.Next(0, parm.Length)];

    <div class="col-md-4" style="margin:10px 0">
        <div class="card text-center">
            <div class="card-header">
                @Html.DisplayFor(modelItem => item.Type)
            </div>
            <div class="card-block" style="margin:10px 0;">
                <h4 class="card-title" style="margin:10px 0"> @Html.DisplayFor(modelItem => item.Name)</h4>
                <p class="card-text" style="height:40px;"> @Html.DisplayFor(modelItem => item.Description)</p>
                <a href="@Html.DisplayFor(modelItem => item.URL)" class="btn @temp btn-sm" style="width:150px;margin:10px 0;">Get it</a>
            </div>
        </div>
    </div>
}
</div>

我定義了一個隨機變量[temp],我希望每個按鈕樣式都是隨機的,但是它沒有顯示不同的樣式,我在哪里弄錯了? 提前致謝。

請創建Random r = new Random(); 循環外。 Random類使用當前時間初始化。 Foreach循環很快,因此,每個Random實例都具有相同的值。

這里有一些詳細信息: 如何為隨機類播種以避免獲得重復的隨機值

@{
    Random r = new Random();
    foreach (var item in Model)
    {
        string[] parm = new string[] {"btn-primary", "btn-success", "btn-info", "btn-warning", "btn-danger"};
        string temp = parm[r.Next(0, parm.Length)];

        <div class="col-md-4" style="margin: 10px 0">
            <div class="card text-center">
                <div class="card-header">
                    @Html.DisplayFor(modelItem => item.Type)
                </div>
                <div class="card-block" style="margin: 10px 0;">
                    <h4 class="card-title" style="margin: 10px 0"> @Html.DisplayFor(modelItem => item.Name)</h4>
                    <p class="card-text" style="height: 40px;"> @Html.DisplayFor(modelItem => item.Description)</p>
                    <a href="@Html.DisplayFor(modelItem => item.URL)" class="btn @temp btn-sm" style="width: 150px; margin: 10px 0;">Get it</a>
                </div>
            </div>
        </div>
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM