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

本文关键字:控制器 获取 填充 模型 视图 | 更新日期: 2023-09-27 18:25:49

我认为这是一些基本的东西,但我无法理解。非常感谢您的帮助。

假设我们有两张桌子:电视和节目。节目通过TvId字段连接到电视台。

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

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

当我在使用Shows模型的"New show"表单上时……我如何访问并传递将为其创建此节目的TvId?

我将所有数据字段绑定到Show模型,但不知道如何将新节目连接到其"电视"。

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

在你的控制器中,你可以做一些事情,比如创建一个名为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);
}

然后用Show详细信息(可能为空,但可能有默认值)和TV.填充此信息

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

然后,您将有权在视图中执行以下操作:型号.TV.{此处属性}