【问题标题】:In an asp.net mvc 4 application should we write forms in partial views or just plain views...?在 asp.net mvc 4 应用程序中,我们应该在部分视图中还是仅在普通视图中编写表单......?
【发布时间】:2014-04-28 13:15:20
【问题描述】:

我们有一个 MVC 4 项目,我们必须在其中创建大约 100 个表单。现在开发人员将开始创建表单,我们应该将表单创建为视图还是部分视图..?

在使用视图模型时,在局部视图中编写表单是否会给我们带来任何问题.. ?

【问题讨论】:

  • 当您必须多次使用局部视图时,您应该使用它们。部分视图可以在其他视图中重用。但如果您只需要一次表单,请不要创建部分视图。

标签: c# asp.net-mvc visual-studio asp.net-mvc-4 partials


【解决方案1】:

视图是带有 html 标头的完整网页。 局部视图只是正文 html 代码,您可以在需要时重复使用它。局部视图有助于我们减少代码重复。因此,部分视图是可重用的视图,例如页眉和页脚视图。如果您想在多个地方使用表单,则可以使用局部视图。如果你只使用一次,那就去看看吧..

【讨论】:

    【解决方案2】:

    部分视图对于视图模块化很有用,并且是处理可重复视图部分的最佳方式。关于表单,我建议在您的视图中调用@Html.BeginForm(...),同时在部分视图中分隔表单内容或Custom Editor Template

    还可以阅读更多关于称为原子设计的趋势。它提供了关于将视图划分为逻辑组件的很好的哲学和术语。它也可以应用于 ASP.NET Razor 功能。

    【讨论】:

      【解决方案3】:

      好吧,不需要将所有视图都设为局部视图,因为当您想多次使用特定视图然后使用局部视图或者您想要进行 ajax 调用时,局部视图的主要用途是可用性,那么最好使用局部视图意见。

      任何你会多次使用的东西。例如,在此页面上,您会在右侧看到相关帖子的列表。那是在多个页面上,所以为什么要多次创建它。您可以将数据传递给分部视图以根据某些条件对其进行自定义。

      我不喜欢登录等某些事情,我宁愿将用户带到登录页面。然而,这种情况经常被使用。

      【讨论】:

        【解决方案4】:

        好吧,在局部视图中编写表单根本不会产生任何问题。相反,它有助于您轻松开发。如果您使用过任何 Scaffolding 库,您一定已经看到他们确实经常实施这种做法。

        一个非常简单的例子:

        对于创建记录和编辑记录,两者都将在表单上具有相同的控件 - 只是其中的几个 ReadOnly。因此,在这里,创建部分表单“_CreateOrEdit”将节省您的时间和精力。

        只要确保您排除标签,我的意思是 @Html.BeginForm() 或您用来生成表单标签的任何帮助器类,在视图中,而不是部分。只保留两者中的通用控件。

        希望我说得通,谢谢!

        【讨论】:

          猜你喜欢
          • 2015-04-05
          • 2011-01-25
          • 2012-12-05
          • 1970-01-01
          • 1970-01-01
          • 2014-04-18
          • 2016-07-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多