[英]Why does .NET foreach loop throw NullRefException when collection is null?
[英]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.