DropDownList SelectedItem不工作(Razor ASP MVC5)

时间:2014-03-12 06:18:02

标签: asp.net asp.net-mvc razor

模型

public class MyModel {
     public string ItemXYZ { get; set; }
}

控制器

public ActionResult Edit(int? id)
{
  var x = db.XYZs.Find(id);
  ViewBag.Item_XYZ = new SelectList(new[] { "X", "Y", "Z"}, x.CurrentXYZ);
}

查看

@Html.DropDownList("XYZ123", @ViewBag.Item_XYZ as SelectList, new { @class = "special-class" })

问题

如果我在我的模型中将DropDownList更改为mach的名称,则所选值不起作用。

@Html.DropDownList("ItemXYZ" ....)

如果它与我的ViewBag项目的名称相匹配,则SelectedItem无效。

@Html.DropDownList("Item_XYZ" ....)

但是,如果我追加123(例如),SelectedItem就可以了。

更新

This is the same issue我有,但我不明白为什么或如何在我的控制器中处理退货?

2 个答案:

答案 0 :(得分:1)

在Controller中使用代码为::

public ActionResult Edit(int? id)
{
  var x = db.XYZs.ToList();
  ViewBag.TestDropdown = new SelectList(x, "ValueField", "TextField", "DefaultSelected");
}

并在客户端显示Dropdown使用此:

@Html.DropDownList("TestDropdown")

就是这样。 可能这会对你有帮助。

答案 1 :(得分:0)

在相应的操作中接收名为XYZ123的参数。 还包括行动的Bind属性中的XYZ123。