Loop foreach但在C#Razor中如何使用

问题描述 投票:0回答:2

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

Control.cs:

IEnumerable<Acces> all_id = acces_Repository.FindAll("where email = '" + id_ + "'");
while (i < all_id.Count())
{
     foreach (Acces item in all_id)
     {
        ViewBag.liste[i] = item.Id;
     }
     i++;
}

功能:

public IEnumerable<Acces> FindAll(string where = "")
        {
            try { 
            using (IDbConnection dbConnection = Connection)
            {
                dbConnection.Open();
                return dbConnection.Query<Acces>("SELECT * FROM access "+where);
                }
            }
            catch (Exception ex)
            {
               ex.ToString();
                return null;
            }
        }
c# asp.net razor foreach while-loop
2个回答
0
投票

[好,让我们尝试遍历如何在View上显示结果集。

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

OR

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

关于您的情况,您可以这样做:

IEnumerable<Acces> all_id = acces_Repository.FindAll("where email = '" + id_ + "'");
ViewBag.Acceslist = all_id;

并且您可以像这样简单地在View上遍历此列表:

<ul>
    @if(ViewBag.Acceslist !=null)
    {
      @foreach (var data ViewBag.Acceslist)
      {
        <li>@data.Id</li>        
      }
    }
</ul>

-1
投票

您可以使用为什么不但我认为如果使用此代码,那就更好了

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

}
© www.soinside.com 2019 - 2024. All rights reserved.