Asp.net mvc 4 如何获取下拉列表的值

Asp.net mvc 4 如何获取下拉列表的值,asp.net-mvc-4,c#-4.0,dropdownbox,Asp.net Mvc 4,C# 4.0,Dropdownbox,我正在尝试返回所选项目,并且在调试代码时,“视图数据”轨迹列表始终为空 如何将值分配给视图数据 public ActionResult EditParcel(int id) { Parcel parc = _abcSearchService.GetAbcParcel(id); List<SelectListItem> TrackList = new List<SelectListItem> { new SelectListItem

我正在尝试返回所选项目,并且在调试代码时,“视图数据”轨迹列表始终为空

如何将值分配给视图数据

public ActionResult EditParcel(int id)
{
    Parcel parc = _abcSearchService.GetAbcParcel(id);
    List<SelectListItem> TrackList = new List<SelectListItem>
    {
        new SelectListItem { Text = "Processing", Value = "Processing", Selected = true},      
        new SelectListItem { Text = "Out for delivery", Value = "Out for delivery"},
        new SelectListItem { Text = "Delivered", Value = "Delivered"},
    };
    ViewData["TrackList"] = TrackList.AsEnumerable();
}

这完全取决于您如何设置下拉列表。我建议不要使用viewbag/data发送信息。将其放在视图模型中构建列表如何构建它,但将其保存到视图模型中

viewModel.TrackList = TrackList;
那么在你看来

@Html.DropDownListFor(x => x.Track, Model.TrackList)

for辅助对象将替代选定的特性。在这种情况下,要设置选定的值,需要将viewModel.Track设置为所需的选定值,然后相应地设置for辅助对象。如果您有任何问题,请告诉我。

您没有从code@karthik这是对的。您应该向视图返回某种类型的操作结果。