我有一个国家/地区下拉列表和一个地址表。根据所选的国家/地区,我想隐藏/显示某些字段。我对MVC和MVC3很陌生,最好的方法是什么?
我在页面上有一个正确填充的'DropDownListFor'。当这改变时,我想我需要询问服务器显示/隐藏哪些字段。我或许可以将一些JQuery放入一个调用方法的更改事件中,并返回一些json说明:每个字段都是true,但我不知道这是否理想甚至是如何实现它(可能是$ .ajax或者其他东西) )。
有什么想法吗?
编辑:我应该补充一点,这就是要求服务器为每个国家/地区显示哪些字段,因为有许多国家/地区,并且可能性都存储在数据库中。我习惯于webforms而不是MVC所以我通常会回发并拥有服务器端逻辑,但这不是MVC afaik的选项...
答案 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();
}
}
});