循环foreach和while但如何在C#Razor中使用

循环foreach和while但如何在C#Razor中使用,c#,asp.net,razor,foreach,while-loop,C#,Asp.net,Razor,Foreach,While Loop,您知道如何使用循环“while”和“foreach”来显示结果吗 对于我的代码: Control.cs: IEnumerable<Acces> all_id = acces_Repository.FindAll("where email = '" + id_ + "'"); ViewBag.Acceslist = all_id; ViewBag.Liste = listeRepository.FindAll(" order by id ASC "); IEnumerable您可以使

您知道如何使用循环“while”和“foreach”来显示结果吗 对于我的代码:

Control.cs:

IEnumerable<Acces> all_id = acces_Repository.FindAll("where email = '" + id_ + "'");
ViewBag.Acceslist = all_id;
ViewBag.Liste = listeRepository.FindAll(" order by id ASC ");
IEnumerable

您可以使用Why Not 但是我认为如果你使用这个代码,它会更好

for  (int i=0;i < all_id.Count();i++)
{
     foreach (Acces item in all_id)
     {
        ViewBag.liste[i] = item.Id;
     }

}
for(int i=0;i
好的,让我们来看看如何在
视图上显示结果集

您可以使用
ViewBag
分配列表,然后在视图上对其进行迭代

您可以在视图上使用强类型模型绑定。我更喜欢使用这种方法,因为它为您提供了更具体的实现

关于您的案例,您可以这样做:

IEnumerable<Acces> all_id = acces_Repository.FindAll("where email = '" + id_ + "'");
ViewBag.Acceslist = all_id;
您需要检查
null
,否则如果遇到null值,您的
视图将崩溃

您可以使用
LINQ
方法加入我们的列表,并在一个列表中获取所需数据,您可以将该列表发送到您的
视图
。您可以执行以下操作:

IEnumerable<Acces> all_id = acces_Repository.FindAll("where email = '" + id_ + "'");
var liste = listeRepository.FindAll(" order by id ASC ");

var all_id_list=all_id.ToList();
var liste_list=liste.ToList();

var myList= from a in all_id_list
           join l in liste_list on a.Id equals l.Id
           where a.EmailId == "myemail@example.com"

ViewBag.displayMyList=myList;
IEnumerable all_id=acces_Repository.FindAll(“where email='“+id_u+””);
var liste=listeRepository.FindAll(“按id排序ASC”);
var all_id_list=all_id.ToList();
var liste_list=liste.ToList();
var myList=来自“全部id”列表中的
将l加入a上的列表中。Id等于l.Id
其中a.EmailId==”myemail@example.com"
ViewBag.displayMyList=myList;

然后,您可以在
视图上循环此ViewBag以显示结果。

您只需执行以下操作:

 int temp = 0;

 foreach (Acces item in all_id)
 {
    ViewBag.liste[temp] = item.Id;
    temp ++;
 }
for (int temp = 0; temp < all_id.Count(); temp++)
{
  ViewBag.liste[temp] = all_id[temp].Id;
}
或者您可以简单地执行以下操作:

 int temp = 0;

 foreach (Acces item in all_id)
 {
    ViewBag.liste[temp] = item.Id;
    temp ++;
 }
for (int temp = 0; temp < all_id.Count(); temp++)
{
  ViewBag.liste[temp] = all_id[temp].Id;
}
for(int-temp=0;temp
这是否回答了您的问题?这回答了你的问题吗?谢谢,但我有一个错误:“无法对空引用执行运行时绑定”您必须发送完整的代码才能找到您的问题所在Viewbag中的每个项目都将有来自所有\u id的最后一个项目…我已编辑我的帖子。我想恢复所有结果:)@Toomy请确保检查您的Viewbag,因为它似乎为空。是的,感谢使用您的代码,但我借此机会进一步说明。我修改了,为了我的最终结果我以前使用过这个,但我无法比较这两个结果我想比较两个结果(如acces.cshtml)并能够选择需要编辑的结果,我不知道您是否看到我研究是选择还是取消选择,以及对其中一个选择拥有权限
for (int temp = 0; temp < all_id.Count(); temp++)
{
  ViewBag.liste[temp] = all_id[temp].Id;
}