ASP.NET MVC 2编辑器模板

时间:2009-10-30 05:00:00

标签: asp.net-mvc

以下链接介绍了编辑器模板:http://weblogs.asp.net/scottgu/archive/2009/07/31/asp-net-mvc-v2-preview-1-released.aspx

我想知道的是,如果我有一个下拉列表的编辑器模板,初始值是如何设置的?

我有一个下拉菜单,我使用的是Html.EditorFor(c => c.Country,“CountryDropDown”)

但它始终默认为列表中的第一个选定项目...任何想法?

1 个答案:

答案 0 :(得分:0)

我认为,您需要创建一个viewdata,或创建一个viewmodel来包含传递到下拉列表的选择列表。例如,在你的控制器动作中,你应该这样做:

    //get your item for editing here i.e named itemToEdit
    //get your country collection here

      ArrayList countryList=New ArrayList;
       foreach (Country c In YourCountryCollection)
{          countryList.Add(New With {.Item = c.CountryName, .value = c.CountryID})
}
    Viewdata("CountryList")=New SelectList(countryList, "Value", "Item", itemToEdit.countryID)}

现在在您看来,您应该使用以下内容,而不是使用html.editorfor:  Html.Editor(“CountryLis”,“CountryDropDown”)

这应该使用所选值设置下拉列表。 希望这有帮助。