我的团队正在使用MVC4和.NET 4.5开发Web应用程序。一个任务是创建父下拉列表,该列表将在父项中选择值时更新子下拉列表 - 例如,状态下拉列表将在选择状态时过滤城市下拉列表。 / p>
在我们的其他项目中,当选择父值时,我们使用对Web服务或数据库的Ajax调用来填充子项的值。在上面的示例中,选择了明尼苏达州,并且对数据库进行了Ajax调用以获取MN中的所有城市。我已经阅读了此处的其他帖子以及遵循此概念的教程。
我们团队的新开发人员认为上述方法效率低下,最好在页面加载时抓取所有城市,将城市作为Jason对象存储在JavaScript变量中,然后使用jquery循环遍历JavaScript变量并构建孩子名单。
有人可以就我们使用的方法向我提供反馈吗?我不相信将数千条记录拖入浏览器并且当我们只显示10条记录时,存储在客户端上是非常有效的。这个开发人员还认为在JavaScript中循环遍历10000行JSON对象要比在数据库调用中抓取10行更快。
答案 0 :(得分:1)
创建列表,您可以从LINQ调用所有内容。在执行其他调用实例化
之前,请检查缓存以从那里创建public IList<Example> GetList(string _state)
{
IList<Example> cities = new List<Example>();
Cache cache = HttpContext.Current.Cache;
if (cache[_state] != null)
cities = (IList<Example>)cache[_state];
else
{
//Do your calls
cache.Insert(_state, cities);
}
return cities;
}