在将模型从视图填充到控制器时获取外键

时间:2012-02-27 02:23:39

标签: c# asp.net-mvc entity-framework

我认为这是基本但我无法理解的东西。希望得到一些帮助。

让我们说我们有两个表:电视和节目。 节目通过TvId字段连接到Tv表。

现在在我们的MVC应用程序中,我们显然拥有匹配这两个表的模型。 现在......我需要添加一个新的Show!

我转到网络表单,选择其中一个电视并想要添加一个节目。

当我在使用“显示”模型的“新节目”表单时..如何获取访问权并传递将要为其创建此节目的TvId?

我将所有数据字段绑定到Show模型,但无法弄清楚如何将新节目连接到其“Tv”。

1 个答案:

答案 0 :(得分:0)

在你的控制器中,你可以做一些像创建一个名为ShowWithTv的新模型 - 类似这样的事情:

public class ShowWithTv {
    public Show { get; set; }
    public TV { get; set; }
}

public ActionResult Index(int ID) {
    var data = new ShowWithTV();
    data.Show = new Show();
    data.TV = new TV().LoadFromId(ID) // put code here to load TV from ID
    return View(data);
}

然后使用显示详细信息(可能为空白,但可能具有默认值)和电视来填充此内容。

然后在您的视图中将顶部的“继承”更改为您的新ShowWithTv模型。

然后您将在视图中访问以执行此操作: Model.TV。{property here}