级联下拉列表数据源

时间:2013-02-22 05:42:26

标签: c# jquery asp.net-mvc

我的团队正在使用MVC4和.NET 4.5开发Web应用程序。一个任务是创建父下拉列表,该列表将在父项中选择值时更新子下拉列表 - 例如,状态下拉列表将在选择状态时过滤城市下拉列表。 / p>

在我们的其他项目中,当选择父值时,我们使用对Web服务或数据库的Ajax调用来填充子项的值。在上面的示例中,选择了明尼苏达州,并且对数据库进行了Ajax调用以获取MN中的所有城市。我已经阅读了此处的其他帖子以及遵循此概念的教程。

我们团队的新开发人员认为上述方法效率低下,最好在页面加载时抓取所有城市,将城市作为Jason对象存储在JavaScript变量中,然后使用jquery循环遍历JavaScript变量并构建孩子名单。

有人可以就我们使用的方法向我提供反馈吗?我不相信将数千条记录拖入浏览器并且当我们只显示10条记录时,存储在客户端上是非常有效的。这个开发人员还认为在JavaScript中循环遍历10000行JSON对象要比在数据库调用中抓取10行更快。

1 个答案:

答案 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;
}