0

我对 MVC 游戏有点晚了,坦率地说,那里有很多信息,几乎不可能使用“正确”的关键字来接近答案。

我有一个codes从数据库中获取并将它们显示在自动完成列表中的函数。我想GetCodes在控制器之间共享此方法,这些codes方法用于其他形式。

对此的最佳MVC做法是什么?

是用这个函数创建一个基类更好,还是创建一个 Web API Controller 来共享这些类型的方法更好?

[编辑]为了澄清,codes我提供的自动完成就像一个大州或省的城市列表。这是一个静态列表,仅在联邦级别发生变化时由政府更新。

我只是不想剪切/粘贴执行搜索的功能,我宁愿写一些可重用的东西。现在,该功能GetCodes存在于一个控制器上,我从站点的其他部分调用该控制器的 Action 方法。我不喜欢这样,我正在寻找一些关于如何使用 ASP.NET 的其他部分以更好更健壮的方式完成此任务的建议。

谢谢

4

2 回答 2

0

任何时候你说“什么是最好的……”,答案总是“这取决于很多因素”。

我们对您的设计、要求、实施或其他细节知之甚少。但是,有一些事情要记住。

如果您不需要任何类型的分布式架构,则没有理由创建 WebApi 控制器。

听起来您的数据只是模型的一部分,因此您可以使用任何标准模式来访问模型数据。任何教程,例如 MVC 音乐商店或 Nerd Dinner 都会向您展示如何做到这一点。

仅仅因为控制器之间共享数据并不能使它变得特别……模型的全部意义在于数据可以被任何控制器使用。

于 2015-01-15T02:07:42.333 回答
0

使用视图模型 - 创建一个视图模型(或视图模型基类),它可以加载codes或提供加载 的方法codes,然后将此视图模型用作较大视图模型的属性(或从视图模型继承)。

于 2015-01-15T01:02:40.297 回答