在C# MVC5中创建可维护的大视图

6 浏览
0 Comments

在C# MVC5中创建可维护的大视图

我有一个使用MVC5、C#和Razor引擎的应用程序。这个视图显示了一个巨大的表格:\n

操作 订单状态 订单详情 订单日期 预计交货日期 下单人 员工ID 员工状态 员工姓名 员工类型 范围 交货地址 评论

\n现在,问题是所有内容都在一个巨大的文件中。如你所料,这个文件很难更新和维护。\n我熟悉C#的region指令,但是在视图中我找不到类似的东西。我也知道部分视图,但是从StackOverflow的讨论中我强烈感觉到,这些只应该在视图中有可重用的代码块时使用,而这不是我的情况。\n如何处理这么大的视图是最好的方法?

0
0 Comments

在C# MVC5中实现可维护的大视图的问题出现的原因主要是视图文件过于庞大,逻辑较为复杂,难以阅读和维护。解决这个问题的方法是使用PartialView来实现关注点的分离以及将大文件分割成更小的文件,从而提高可读性和可维护性。另外,如果视图文件中存在较为复杂的逻辑,可以考虑创建ViewModel类来处理该逻辑。例如,可以为不同的用户类型创建不同的ViewModels,然后使用独立的PartialViews来渲染不同用户类型的信息。

如果你想要一个简单的解决方案,可以按照Stephen Muecke在评论中的建议,使用EditorTemplate和/或自定义HtmlHelper。如果没有其他方法,可以使用PartialView来实现,但这并不是最佳的解决方案。

自定义EditorTemplate和HtmlHelper是更好的方法。但是,我猜测OP可能正在寻找一个快速的解决方案。如果你使用ViewBag来传递数据,那么使用自定义EditorTemplate和HtmlHelper可能会更好。这是一个复杂的主题,建议你进行一些研究,包括使用ViewModel来表示要显示的内容。但是,正如上面的评论所建议的,一个视图中有超过1或2个if语句(更不用说100个了)是不好的设计。这种逻辑应该放在控制器中实现。

0