如何从模型

时间:2016-09-01 08:22:20

标签: c# asp.net-mvc

我有:

   @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; }
    }
}

2 个答案:

答案 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;
}