【问题标题】:Passing a List through the controller into the IEnumerable view ASP.NET MVC 4通过控制器将列表传递到 IEnumerable 视图 ASP.NET MVC 4
【发布时间】:2014-02-28 20:15:16
【问题描述】:

我已将子类别表连接到模型中的主表。类似于下面的结构。

但是,我需要将不同表(子表)中的信息访问到我的主表“文章”中。因此,我在 Index 中的 ArticleController 中编写了附加代码,如下所示。

控制器:

    public ActionResult Index()
    {

        var articles = db.DataToArticles.Include(a => a.AgeGroup).Include(a => a.Disabilities).Include(a => a.StrategyType);

        return View(articles.ToList());
    } 

“DataToArticles”类似于上面的“StrategyTypeToArticle”表。

这是我的数据访问层,我没有遇到任何问题
DAL:

public class ArticleEntities : DbContext
{
    public DbSet<AgeGroup> AgeGroups { get; set; }
    public DbSet<Disabilities> Disabilitiess { get; set; }
    public DbSet<StrategyType> StrategyTypes { get; set; }
    public DbSet<Article> Articles { get; set; }
    public DbSet<UserProfile> Profiles { get; set; }
    public DbSet<DataToArticle> DataToArticles { get; set; }


    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
    }
}

现在看我的观点,这给了我一个错误。
View

@model IEnumerable<LearningEnterprises.Models.Article>


问题
问题是将控制器中的文章变量传递给我的视图 IEnumberable。我知道它是作为一个列表传递的,但我之前没有遇到过这个问题。有没有办法解决这个问题?

【问题讨论】:

    标签: c# asp.net sql asp.net-mvc asp.net-mvc-4


    【解决方案1】:

    因为您查询的是db.DataToArticles,所以您将IEnumerable&lt;LearningEnterprises.Models.DataToArticle&gt; 传递给视图,而不是IEnumerable&lt;LearningEnterprises.Models.Article&gt;

    【讨论】:

    • 谢谢,刚刚对我的模型和控制器做了一些修改。
    【解决方案2】:

    我认为你需要传递 StrategyTypesTo 然后你会得到文章,而 var 文章可能不再是文章类型,因为你在那里传递了太多额外的东西

    为方便起见,您可以使用动态或尝试其他帖子的建议

    List<dynamic> articles = db.DataToArticles.Include(a => a.AgeGroup).Include(a => a.Disabilities).Include(a => a.StrategyType);
    
    @model List<dynamic>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多