Asp.net mvc 根据从控制器传递到视图的ViewBags显示不同的按钮?
我创建了两个包含不同值的Asp.net mvc 根据从控制器传递到视图的ViewBags显示不同的按钮?,asp.net-mvc,loops,viewbag,Asp.net Mvc,Loops,Viewbag,我创建了两个包含不同值的ViewBags ViewBag.attendingEvents = attendingIds; ViewBag.notAttendingEvent = notAttendingIds; AttentingID包含所有参加该活动的用户的ID,而NotAttentingID包含所有未参加该活动的用户的ID 它显示了太多的按钮,因为我循环通过。如果有100个用户参加活动,那么它会显示100个删除按钮和一条记录,因为循环。解决这个问题的最佳方法是什么 @foreach (va
ViewBags
ViewBag.attendingEvents = attendingIds;
ViewBag.notAttendingEvent = notAttendingIds;
AttentingID
包含所有参加该活动的用户的ID,而NotAttentingID
包含所有未参加该活动的用户的ID
它显示了太多的按钮,因为我循环通过。如果有100个用户参加活动,那么它会显示100个删除按钮和一条记录,因为循环。解决这个问题的最佳方法是什么
@foreach (var user in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => user.Name)
</td>
<td>
@foreach(var record in ViewBag.attendingEvents as IList<User>) {<a href="#"> Remove </a>}
</td>
</tr>
}
@foreach(模型中的var用户)
{
@DisplayFor(modelItem=>user.Name)
@foreach(ViewBag.AttentingEvents中的var记录作为IList){}
}
如果我正确理解了您的问题,并且您只希望参加会议的用户能够使用“删除”按钮,那么这就是我的解决方案。您需要循环查看用户的结果,并检查他们是否存在于您的可出席id列表中
@foreach (var user in Model.User)
{
<tr>
<td>
@Html.DisplayFor(modelItem => user.Name)
</td>
<td>
@if(ViewBag.attendingEvents.Contains(user.Id))
{<a href="#"> Remove </a>}
</td>
</tr>
}
@foreach(Model.user中的var user)
{
@DisplayFor(modelItem=>user.Name)
@if(ViewBag.AttentingEvents.Contains(user.Id))
{}
}
如果我正确理解了您的问题,并且您只希望参加会议的用户能够使用“删除”按钮,那么这就是我的解决方案。您需要循环查看用户的结果,并检查他们是否存在于您的可出席id列表中
@foreach (var user in Model.User)
{
<tr>
<td>
@Html.DisplayFor(modelItem => user.Name)
</td>
<td>
@if(ViewBag.attendingEvents.Contains(user.Id))
{<a href="#"> Remove </a>}
</td>
</tr>
}
@foreach(Model.user中的var user)
{
@DisplayFor(modelItem=>user.Name)
@if(ViewBag.AttentingEvents.Contains(user.Id))
{}
}
您的问题:
它显示了太多的按钮,因为我循环通过。如果有100个用户参加活动,那么它会显示100个删除按钮和一条记录,因为循环。解决这个问题的最佳方法是什么
@foreach (var user in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => user.Name)
</td>
<td>
@foreach(var record in ViewBag.attendingEvents as IList<User>) {<a href="#"> Remove </a>}
</td>
</tr>
}
最佳方法或解决方案:
您遇到了上面的问题,因为有一个foreach按钮,实际上它不是必需的,您只需像下面这样更改代码
@foreach (var user in Model.User)
{
<tr>
<td>
@Html.DisplayFor(modelItem => user.Name)
</td>
<td>
string[] Users_attendingEvents = string[](ViewBag.attendingEvents);
@if(Users_attendingEvents.Contains(user.Id))
{
<a href="#"> Remove </a>
}
</td>
</tr>
}
@foreach(Model.user中的var user)
{
@DisplayFor(modelItem=>user.Name)
string[]用户\u AttentingEvents=string[](ViewBag.AttentingEvents);
@if(Users\u attentingevents.Contains(user.Id))
{
}
}
您还可以查看此链接了解更多信息:
希望能有帮助
谢谢你的问题:
它显示了太多的按钮,因为我循环通过。如果有100个用户参加活动,那么它会显示100个删除按钮和一条记录,因为循环。解决这个问题的最佳方法是什么
@foreach (var user in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => user.Name)
</td>
<td>
@foreach(var record in ViewBag.attendingEvents as IList<User>) {<a href="#"> Remove </a>}
</td>
</tr>
}
最佳方法或解决方案:
您遇到了上面的问题,因为有一个foreach按钮,实际上它不是必需的,您只需像下面这样更改代码
@foreach (var user in Model.User)
{
<tr>
<td>
@Html.DisplayFor(modelItem => user.Name)
</td>
<td>
string[] Users_attendingEvents = string[](ViewBag.attendingEvents);
@if(Users_attendingEvents.Contains(user.Id))
{
<a href="#"> Remove </a>
}
</td>
</tr>
}
@foreach(Model.user中的var user)
{
@DisplayFor(modelItem=>user.Name)
string[]用户\u AttentingEvents=string[](ViewBag.AttentingEvents);
@if(Users\u attentingevents.Contains(user.Id))
{
}
}
您还可以查看此链接了解更多信息:
希望能有帮助
谢谢您在视图中的何处使用Viewbag?还有,你说的按钮的代码在哪里?我没找到。现在我修改了我的问题。foreach(模型中的var用户)肯定是不对的。是foreach(Model.user中的var user)吗?您在视图中的何处使用Viewbag?还有,你说的按钮的代码在哪里?我没找到。现在我修改了我的问题。foreach(模型中的var用户)肯定是不对的。是foreach(Model.user中的var user)吗?