Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 根据从控制器传递到视图的ViewBags显示不同的按钮?_Asp.net Mvc_Loops_Viewbag - Fatal编程技术网

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)吗?