Asp.net mvc 4 MVC冻结,页面在几秒钟内没有响应

Asp.net mvc 4 MVC冻结,页面在几秒钟内没有响应,asp.net-mvc-4,Asp.net Mvc 4,当我在视图中添加新的下拉列表时。此下拉列表由模型中的列表填充。模型在索引操作中加载,行数高达4k。现在的问题是,当我运行这个页面时,它会冻结5秒钟,在下拉列表填充之前,我的意思是我的整个网站都没有响应。我能做什么 您可以在页面加载后使用ajax调用填充下拉列表,并在加载下拉列表时在下拉列表上显示任何小进度条 您必须创建另一个操作方法,该方法只返回下拉元素。在文档准备就绪时,您必须对该操作方法进行ajax调用,并且在ajax调用成功时,在下拉列表中加载下拉列表项: $(document).read

当我在视图中添加新的下拉列表时。此下拉列表由模型中的列表填充。模型在索引操作中加载,行数高达4k。现在的问题是,当我运行这个页面时,它会冻结5秒钟,在下拉列表填充之前,我的意思是我的整个网站都没有响应。我能做什么

您可以在页面加载后使用ajax调用填充下拉列表,并在加载下拉列表时在下拉列表上显示任何小进度条

您必须创建另一个操作方法,该方法只返回下拉元素。在文档准备就绪时,您必须对该操作方法进行ajax调用,并且在ajax调用成功时,在下拉列表中加载下拉列表项:

$(document).ready(function(){
   $.ajax({
                url: //Url to your action method along with the student name in query string,
                type:get,
                dataType: "json",
                complete: function() {
                    //remove progress bar.
                },
                beforeSend: function() {
                    //Show progress bar.
                },
                success: function (data) {
                    //fill second drop down like:
                    //$("#secondDropDown").append('<option value="' + anyvalue + '">' + anyText + '</option>');
                }
            });
});
$(文档).ready(函数(){
$.ajax({
url://指向操作方法的url以及查询字符串中的学生姓名,
类型:get,
数据类型:“json”,
完成:函数(){
//移除进度条。
},
beforeSend:function(){
//显示进度条。
},
成功:功能(数据){
//填写第二个下拉列表,如下所示:
//$(“#第二个下拉列表”).append(“”+anyText+“”);
}
});
});

4k元素组合绝对不利于可用性。您是否考虑过自动完成文本框或其他更轻量级的功能?但我不使用ajax,这只是controllerCan的回应。请您向我展示您的视图和控制器代码