2009-06-12 53 views
1

我有一個項目是有一些選擇框加載參考數據,即客戶類型。爲此,我創建了一個單獨的Controller,它將數據作爲JSON結果返回。這是通過jQuery函數在頁面加載時調用的,以加載選擇列表。ASP MVC選擇列表與JSON

在提交給客戶控制器時,如果已選擇一個選項但存在驗證錯誤,則控制器會添加模型錯誤消息並返回到未修改模型數據的視圖。

如何獲得選擇以保持所選選項?即用戶選擇值爲123的選項,當表單從帖子返回給控制器時,選定的選項不會通過jquery重新加載「重新選擇」。

回答

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); 
      } 
     }); 
    }); 
});