我有:
@model IEnumerable<SharpTrivia.Controllers.Questions>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.question)
</td>
它适用于返回所有问题 我如何只返回一件商品?说一下item.id == 1?
我无法得到建议的解决方案,也许是因为我不清楚我使用的是什么类型的模型。我更新了我的问题以提供更多细节。
型号:
namespace SharpTrivia.Controllers
{
using System;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
public partial class TriviaModel : DbContext
{
public TriviaModel()
: base("name=TriviaM")
{
}
public virtual DbSet<Questions> Questions { get; set; }
public virtual DbSet<Answer> Answer { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Questions>()
.Property(e => e.question)
.IsUnicode(false);
modelBuilder.Entity<Questions>()
.Property(e => e.coranswer)
.IsUnicode(false);
modelBuilder.Entity<Answer>()
.Property(e => e.answera)
.IsUnicode(false);
modelBuilder.Entity<Answer>()
.Property(e => e.answerb)
.IsUnicode(false);
modelBuilder.Entity<Answer>()
.Property(e => e.answerc)
.IsUnicode(false);
modelBuilder.Entity<Answer>()
.Property(e => e.answerd)
.IsUnicode(false);
}
}
}
namespace SharpTrivia.Controllers
{
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.Spatial;
public partial class Questions
{
public int id { get; set; }
[Required]
[StringLength(500)]
public string question { get; set; }
[Required]
[StringLength(50)]
public string coranswer { get; set; }
}
}
答案 0 :(得分:0)
如果你知道只有一个元素,那么使用
var item = Model.FirstOrDefault(m => m.Id == 1);
否则你应该使用
@if (item != null)
{
@Html.DisplayFor(i => item.question)
}
并检查项目是否为空
{{1}}
答案 1 :(得分:0)
仅一个项目 不推荐 foreach 。 您可以使用中断循环一次,如下所示:
@foreach (var item in Model)
{
//Your code block
break;
}