2009-09-18 66 views
1

我使用的是下拉在我的MVC应用程序列表,从编辑一组区域中进行选择或者创建条目ASP.NET MVC DropDownLists键和外键

的代码如下所示:

ViewData [“Areas”] = new SelectList(AreaHelper.Areas,tablet.LocationID);

负载选择选择项目时编辑当前条目

任何指针,当我有储蓄和更新当前locationID到DDL的新的选择值,也是问题?

回答

2

这就是我的做法。

public class ViewModel 
{ 
    public long Location { get;set;} 
} 

public ActionResult() 
{ 
    ViewData["Location"] = new List<SelectListItem> 
    { 
    new SelectListItem{ Name = "US", Value = "1" }, 
    } 
    return View(new ViewModel() { Location = GetOldValue() }) 
} 

-

<%= Html.DropDOwnList("Location") %> 

使用模型绑定时与类型的视图这workes。

+0

你能否更深入地解释一下?有没有办法创建选择列表,并通过从linq到sql调用的结果循环来添加到该选择列表? – Jimmy 2009-09-18 17:18:57

+0

换句话说,我宁愿不手动输入选择列表结构中的所有区域,我想要一个更具动态性的方法 – Jimmy 2009-09-18 17:26:01

+0

我遵循你的方法,并且它的工作很好 - 唯一的问题是当保存它不改变该项目的数据库中的ID字段,以反映在下拉列表中选择的不同区域。 这里是我的代码: 公共类TabletViewModel {// 性能 公共Tablet平板{获得;私人设置; } public SelectList Areas {get;私人设置; } // init public TabletViewModel(Tablet tablet) { Tablet = tablet; Areas = new SelectList(AreaHelper.Areas,tablet.LocationID); } – Jimmy 2009-09-18 17:49:10