带有项的对象:视图-控制器通信

本文关键字:视图 控制器 通信 对象 | 更新日期: 2023-09-27 18:06:44

所以,我不知道如何寻找这个问题的答案,主要是因为有几个方面我不知道如何解决。

我有一个对象,我们叫它ObjectWithItems它的List<Item>Item对象。两者都有单独的视图和控制器(这对我来说似乎是合乎逻辑的,但我不能确定)。

我想要实现的是这-去创建ObjectWithItemsController的动作,并填写必要的信息特定于它。然后,我点击ActionLink"添加项目",这将我带到ItemController的创建操作。视图被渲染,我为特定的条目输入信息。

我不知道怎么做的是:当我提交当前项目时,它应该传递给ObjectWithItems的前创建视图,并添加到List<Item>。此外,它应该包含在调用Item Create方法之前输入的信息以及相应视图的呈现。

我知道这是一个有点模糊的描述,但那是因为我刚刚开始学习ASP MVC,仍然不知道什么是什么。有没有经过测试的方法?

带有项的对象:视图-控制器通信

使用Session["key"] object允许您存储任何类型的对象,例如:

List<Table> Rows = db.Table.Where(t => t.id < 100).ToList(); // 100 first rows
Session["TableRows"] = Rows;

稍后当您想要检索它们时:

List<Table> Rows = (List<Table>)Session["TableRows"] // don't forget to cast it

只要你没有达到ASP超时

视图和控制器之间的通信是通过表单的HTTP Post完成的。

< form class="form-horizontal" method="post" >
or @using (Html.BeginForm()) 

更多信息在这里与示例