4

我正在尝试使用网络上的标准教程深入研究 ASP.NET MVC 3,但遇到了一个严重的问题。

目前,我正在关注书中的示例,使用“电影”类,将电影类型存储在一个单独的实体中,并与外键连接(好吧,我来自德国,所以我的类以德语命名)。我在这里只显示相关的属性。这是使用 DbContext 的数据库优先方法,我的模型是使用 EF 4.x DbContext Generator 从 edmx 创建的,edmx 是从数据库自动创建的。

public partial class Film
{
    public Film() { }

    public int ID { get; set; }
    public string Titel { get; set; }
    public int GenreID { get; set; }
    public virtual Genre Genre { get; set; }
}

public partial class Genre
{
    public Genre() { }
    public int GenreID { get; set; }
    public string Name { get; set; }
}

当我使用提供 DBSet 的 DBContext 为 Film 类创建一个带有 CRUD 视图的新控制器时,我得到一个使用 DropdownList 编辑 GenreID 的 Edit 视图,标记为“Genre”。美好的。这就是我想要的。

但是后来,我尝试单独创建另一个编辑视图。所以我右键单击我的 Edit Action-Method,选择“Add View”,将其命名为“Edit2”,使用 Film 作为模型,使用“Edit”作为脚手架模板。在这个视图中,我得到了一个简单的“EditorFor(m->m.GenreID)”,标记为 GenreID。那不是我想要的。

当然,我可以手动更改它。当然,我可以下载大量声称做得更好的脚手架工具。

但我想了解这是否是 EF 模板中的错误,或者我的模型是否构建错误,从而导致 Genre / GenreID 混淆。当我一次创建所有内容时,脚手架会创建一个 DropDown,因此必须“只是”缺少一些细节。

4

1 回答 1

0

您需要在控制器“Edit2”中调用您的操作。

于 2014-03-18T16:33:04.103 回答