使用viewbag将数据绑定到MVC3中partialview的下拉列表
问题描述:
我想在MVC 3中创建一个局部视图控件以在我的整个应用程序中使用此控件。在我的部分观点中,有两个下拉列表,一个针对国家,另一个针对国家。但是,当我使用这个我越来越error.please建议如何使MVC中完美的用户控制?我怎样才能通过查看包从SQL绑定数据到DDL?使用viewbag将数据绑定到MVC3中partialview的下拉列表
谢谢。
答
您需要的IEnumerable显示在DDL, 试试下面的例子(我没有测试过,某些类型的错误可能有)
定义你的模型一样,
public class MyModel
{
public SchduleEnum SelectedCountry{ get; set; }
public ProgramCatagory SelectedState{ get; set; }
private IEnumerable<SelectListItem> stateList;
private IEnumerable<SelectListItem> countriesList;
public IEnumerable<SelectListItem> CountriesList;
{
get { return this.countriesList;}
}
public IEnumerable<SelectListItem> StateList
{
get { return this.stateList }
}
private void SetCountryList(IEnumerable<string> countries)
{
List<SelectListItem> items=new List<SelectListItem>();
countries.ToList().ForEach(s=>{
items.Add(new SelectListItem()
{
Text = s,
Value = s
});
});
this.countriesList = items;
}
private void SetStateList(IEnumerable<string> states)
{
List<SelectListItem> items = new List<SelectListItem>();
states.ToList().ForEach(s =>
{
items.Add(new SelectListItem()
{
Text = s,
Value = s
});
});
this.stateList= items;
}
}
定义控制器动作像,
public PartialViewResult GetCountryList()
{
MyModel model = new MyModel();
var countries= *** ;//service call to get countries list
var states = *** ;//service call to get stateslist
model.SetCOuntryList(countries);
model.SetStateList(states);
return View(model);
}
,并在视图,
<%:Html.DropDownListFor(m=>m.SelectedCountry,Model.countriesList)%>
<%:Html.DropDownListFor(m=>m.SelectedSState,Model.stateList) %>
+1 manas.com全面检查 – 2012-02-22 10:53:24