试图在MVC应用程序,View和可能的Controller中创建可重用的“小部件/表单”?

时间:2013-10-08 08:49:12

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

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

我正在探索在许多视图中创建可重用表单的最佳方法。因此,它的功能包含Form位(View)和数据库保存位(Controller)。

我目前的想法是:

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构建的方法。

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

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

在这个项目中,用户可以同时分配到不同的组中,并且他在网站的每个部分中的起始页面都不同,这取决于他在每个组中的授权。在这种(非常具体的)情况下,我们首先使用了您建议的方法,因为用户在访问Section X的页面时无法(例如)获得访问PartialViewA的授权,但可能有权访问访问A部分页面时的PartialViewA。

但是,这是一个非常具体的情况,我很确定这不是你的情况。我只是决定在这里写一下,以显示每种情况都会变得有用的情况。

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