在MVC3中,如何根据所选值显示/隐藏字段的下拉列表?

时间:2011-10-12 14:00:34

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

我有一个国家/地区下拉列表和一个地址表。根据所选的国家/地区,我想隐藏/显示某些字段。我对MVC和MVC3很陌生,最好的方法是什么?

我在页面上有一个正确填充的'DropDownListFor'。当这改变时,我想我需要询问服务器显示/隐藏哪些字段。我或许可以将一些JQuery放入一个调用方法的更改事件中,并返回一些json说明:每个字段都是true,但我不知道这是否理想甚至是如何实现它(可能是$ .ajax或者其他东西) )。

有什么想法吗?

编辑:我应该补充一点,这就是要求服务器为每个国家/地区显示哪些字段,因为有许多国家/地区,并且可能性都存储在数据库中。我习惯于webforms而不是MVC所以我通常会回发并拥有服务器端逻辑,但这不是MVC afaik的选项...

1 个答案:

答案 0 :(得分:2)

我删除了我的第一个答案,因为它无关紧要。

使用MVC3,您可以向任何方法发送AJAX请求。

HomeController.cs

public List<string> GetFieldsToShow(string id)
{

   // if you routing is left to default, the parameter passed in will be called 'id'

   // Do what you gotta do...
   List<string> listOfFieldsToShowBasedOnCountry = GetList(id);
   return listOfFieldsToShowBasedOnCountry;
}

在AJAX调用中,类似于......

$.ajax({
   type: 'POST',
   url: '/Home/GetFieldsToShow/' + valueOfSelectedDropDownItem,
   /*etc...*/
   success: function(data){
      $(data).each(function(){
         $('#' + this).show();
      }
   }
});
相关问题