0

我正在使用 MVC3、C#、Razor、EF4.1。

我正在探索跨多个视图创建可重用表单的最佳方法。因此,它的功能将包含表单位(视图)和数据库保存位(控制器)。

我目前的想法是:

Use a Partial View that can be used by many views to contain the reusable form.

然后

Use an extra Action("Add Item") in the Controller for the master View which calls a method off a reusable class ie GenericDataItem.Save(strData);

我的另一个想法是有一个通用的控制器来匹配部分视图。因此,部分视图中的表单只调用通用控制器,然后必须通过 RedirectToAction 或等效方法将控制权交还给主控制器。显然,后一种方法意味着“Widget”控制器代码只编写一次。

您在这个重要问题上的智慧和建议将不胜感激。一个好的策略显然可以帮助大大简化 MVC 构建方法。

提前谢谢了。

4

1 回答 1

0

这两种方法都有好处。我将以我曾经参与过的一个项目为例(我后来加入了该项目并且没有参与建模):

在这个项目中,一个用户可以同时被分配到不同的组中,并且他在站点的每个部分的起始页面都是不同的,随着他在每个组中的权限而变化。在这种(非常具体的)情况下,我们首先使用了您建议的方法,主要是因为用户在访问第 X 节的页面时(例如)没有访问 PartialViewA 的权限,但可能有权访问访问 Section A 的页面时的 PartialViewA。

但是,同样,这是一个非常具体的情况,我很确定这不是你的情况。我只是决定在这里写它来展示每个案例都会变得有用的情况。

您的第二种方法是我建议的方法,因为正如您所说,这种方法意味着“小部件”控制器代码只编写一次。我在我目前正在工作的项目中使用它。

于 2013-10-09T18:55:16.663 回答