ASP MVC选择带有JSON的列表

时间:2009-06-12 07:15:48

标签: jquery asp.net asp.net-mvc

我有一个项目,有很多选择框加载了参考数据,即客户类型。为此,我创建了一个单独的Controller,它将数据作为JSON结果返回。这是通过jQuery函数在页面加载时调用的,用于加载选择列表。

在提交给客户控制器时,如果选择了一个选项但存在验证错误,则控制器会添加模型错误消息并返回到包含未更改模型数据的视图。

如何让select保留所选的选项?即用户选择值为123的选项,当表单从帖子返回到控制器时,所选选项不会通过jquery重新加载“重新选择”。

1 个答案:

答案 0 :(得分:3)

没有看到您的代码很难为您提供准确的答案。但是,根据我所知,我可以假设这样的事情对你有用:

$(function() {
   $.getJSON("/Customer/GetCustomerTypes", null, function(data) {
    //Selected CustomerType received from the Customer Controller... e.g. 123
       var selectedCustomerType = <%=selectedCustomerType %>;   
       var dropdownList = $("#customerTypeList")[0]; //Id of the dropdown       
       $.each(data, function(index, optionData) {
           var option = new Option(optionData.Text, optionData.Value);           

           if(optionData.Value == selectedCustomerType) {
            $(option).attr('selected','selected');
           }

           if ($.browser.msie) {
               dropdownList.add(option);
           }
           else {
               dropdownList.add(option, null);
           }
       });
     });
});