elo*_*ell 2 .net c# collections asp.net-mvc
我有一个foreach循环遍历ASP.NET MVC/Razor项目中的对象列表.我正在尝试使用当前对象的索引来确定列表中是否有另一个对象.
每次循环,我得到-1作为从以下代码中的Model.TodaySoups.IndexOf(汤)返回的值:
@foreach(MenuItem soup in Model.TodaysSoups)
{
int i = Model.TodaysSoups.IndexOf(soup);
string comma = i < Model.TodaysSoups.Count ? "," : "";
<li class="soup">@soup.Name@comma </li>
}
Run Code Online (Sandbox Code Playgroud)
TodaysSoups定义为:
public List<MenuItem> TodaysSoups
Run Code Online (Sandbox Code Playgroud)
我也试着隐含地定义汤:
var soup in Model.TodaysSoups
Run Code Online (Sandbox Code Playgroud)
没有帮助.
据我所知,这应该有效.显然,我错了.任何帮助,将不胜感激.
更新: 你可以忽略任何一个问题,我一直在盯着这一段时间,只是尝试一下我能想到的,但是,谢谢你试图帮助我.奇怪的是我每次都得-1.
MenuItem定义
public class MenuItem
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public string Category { get; set; }
public List<MenuOption> Options { get; set; }
public bool IsAvailable { get; set; }
public bool IsSpecial { get; set; }
public MenuItem()
{
this.IsAvailable = true;
this.IsSpecial = false;
this.Options = new List<MenuOption>();
}
}
Run Code Online (Sandbox Code Playgroud)
值得注意的是:我最初计划使用EF,但我们正在使用Enterprise Library 5.0 DAAB,所以我切换了以便我可以习惯使用它.然后我在我的代码和配置文件中撕掉了我认为对EF的所有引用,并且我很可能错过了一些东西,因为我真的不熟悉它.可能的原因?
快速修复:使用for循环.
@for(int i = 0; i < Model.TodaySoups.Count; i++)
{
MenuItem soup = Model.TodaySoups[i];
// now you have 'soup' and 'i'
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
167 次 |
最近记录: |