从ASP.NET MVC View调用缓存数据(在服务层中) - 我们还有其他选择吗?

时间:2010-07-22 05:25:55

标签: asp.net asp.net-mvc

我们正在向ASP.NET MVC产品添加工具提示,我们从数据库中获取文本(从技术上讲,从数据的缓存副本中获取)。为此,我们创建了一个Html Helper方法:

<%=Html.Tooltip(Model.GetTooltipText(Tooltips.ClientPage.StartDateId))%>

GetTooltipText方法位于我们的BaseViewModel中,只是使用传入的Id从缓存中获取工具提示。

这会被视为糟糕的设计吗?我们还有其他选择吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

在一次点击中获取所有工具提示并将它们放入某种强类型集合(可能是Dictionary<id,string>)可能更好一点,在服务层中缓存所有这些。

然后你可以将它放在ViewModel中并将其传递给强类型视图。

查看中,您只需根据唯一键访问通过模型收集的强类型广告?

<%: Model.Tooltips[SomeDateId] %>