ASP MVC - 传递模型数据或从数据库中检索

时间:2017-02-03 00:28:55

标签: c# sql asp.net-mvc

我的投资组合有一个控制器,我使用的视图模型叫做DisplayItem。模型的功能不相关,但模型代表了我的投资组合部分的数据。

在此控制器的索引页面上,通过从数据库中提取所需信息来构建前5个投资组合DisplayItem,然后将集合(List<>)发送到视图。视图在列中显示预览,其中包含用于为每个显示的项目“查看项目”的按钮。单击这些按钮将路由到PortfolioController操作“显示”。

我的问题是关于将相应数据发送到“显示”操作的视图的两种方法的效率。我当然可以发送所选DisplayItem的ID,并从数据库中提取它以重建模型并将其发送到视图。我最初的想法是,这对于数据库来说是不必要的工作,因为我之前已经提取了所需的信息。虽然使用ID方法可以让我在必要时不会提取其他信息。

我的另一个想法是序列化模型(它包含无法通过POST发送的集合),然后将我需要的字符串发布到操作,然后序列化为对象。

我的经验基本上不是网络,它是游戏编程,所以我在某种程度上不符合我的要素,并且喜欢选择哪条路线的建议,或者是否有更好的方法来做到这一点

2 个答案:

答案 0 :(得分:2)

我希望在页面加载时再次查询数据库。它允许

- >检查输入验证(id传递)

- >用户对所请求信息的授权

- >减少带宽(如果数据很大)。

- >使路由URL更加用户友好(易于书签)。

答案 1 :(得分:1)

随着应用程序的不断发展,您的DisplayItem将拥有越来越丰富的信息,而您的索引视图将只显示摘要信息。

由于索引视图和详细视图最终需要不同的信息集,因此只需通过线路传递ID字段。

正如Stepen Muecke所说,从数据库中读取数据会很快。数据库很好: - )