如何在asp.net mvc中使用Viewbag中的.contents
本文关键字:Viewbag 中的 contents mvc asp net | 更新日期: 2023-09-27 18:25:47
我的视图中有这个foreach:
@foreach (var partner in ((List<string>)ViewBag.Email))
{
if (ViewBag.hasFeedback.Contains(partner))
{
<div class="checkbox">
<label>
<input type="checkbox" name="partners" value="@partner" checked="checked">
@ViewBag.FirstName[item] @ViewBag.Lastname[item] ( @partner.ToString() )
</label>
</div>
}
item += 1;
}
在我的ViewBag.hasFeedback
中,我有一个包含字符串的数组。如何将其与变量"partner"进行比较代码中的显示方式?代码中的这个例子不起作用,因为"system.array不包含包含函数的定义"。
您需要首先将ViewBag.hasFeedback
强制转换为字符串数组。像这样:
@foreach (var partner in ((List<string>)ViewBag.Email))
{
string[] hasFeedback = string[](ViewBag.hasFeedback);
if (hasFeedback.Contains(partner))
{
<div class="checkbox">
<label>
<input type="checkbox" name="partners" value="@partner" checked="checked">
@ViewBag.FirstName[item] @ViewBag.Lastname[item] ( @partner.ToString() )
</label>
</div>
}
item += 1;
}
然而,使用ViewBag的方式是一个非常糟糕的主意。ViewBag应该用于将模型中没有的数据传递到视图中。如果有太多数据要传递到视图,则应该创建一个视图模型。