我正在开发一个 MVC 站点,这是我的公司所做的第一个,我发现自己经常做的一件事是在控制器中创建选择列表,将它们放入 viewdata 并在创建 html.DropDownList 时读取它们。有几件事让我觉得我做事的方式很臭。
某些页面可以重复列表(酒店房间的董事会费率,用户可以根据需要向酒店添加任意数量的房间),目前我使用相同的选择列表,这是一种好的做法还是应该每个人都有一个?
在前面的示例中,“房间”是一个 ascx,由 renderpartial 或通过 jquery 的 ajax 调用呈现。控制器传递选择列表以便ascx可以使用它的最佳方式是什么,目前我添加到页面的viewdata中,它将它的viewdata传递给renderpartial,但是在ajax调用上还需要添加action方法ascx 的 Viewdata 的选择列表,又不确定这是最好的方法。
我有一个存储库,它保存这个“静态”数据并作为通用列表返回,所以每次控制器需要数据时,它都会访问列表的存储库(除了董事会费率之外,还有一些其他的东西,比如人的头衔,先生,夫人等)我怀疑某种缓存会更好,因为数据很少发生变化。
有人在这些领域有什么建议吗?