这是一个菜鸟问题,但无论如何我都会问它......
我想要创建一个页面,该页面将对项目列表执行基本的CRUD操作: - 显示列表 - 编辑一个项目 - 创建一个项目 - 删除项目
看起来我需要针对每个操作执行操作。这很好,也是可以理解的。我的问题是关于与用户交互的观点。
我想进行就地编辑,因此用户点击编辑,他们可以编辑列表中项目的详细信息。在我目前的理解中,我将不得不复制“显示列表”和“编辑项目”之间的大量视图。但是,这似乎是不必要的冗余,并且将使更新时间更加耗时,因为我将不得不更新每个视图。
有更简单的方法吗?我是在正确/错误的轨道上吗?还有其他意见吗?
答案 0 :(得分:6)
是的,绝对的。您将需要使用带有字符串的View()
重载。该字符串是要呈现的视图的名称:
public ActionResult MyAction()
{
return View("MyViewName");
}
答案 1 :(得分:1)
View()
方法可以将视图的名称作为参数,因此您可以从多个操作中呈现相同的视图。默认情况下(如果未指定视图名称),框架使用名为当前操作的视图。请参阅here for details。
答案 2 :(得分:0)
我相信您应该研究的是渲染部分视图,这些.ascx页面类似于WebForms中的UserControls。它们基本上是共享的部分视图,您可以在许多视图中将它们用于相同的目的。
如果查看默认项目模板,可以找到Login控件等项目的示例。
编辑:正如其他人所说,你也可以在行动之间分享观点。那里也有我自己的noob时刻。 :)