我想创建一个只有默认值的空下拉列表。我使用以下代码:
@Html.DropDownList("parent","--Select Parent--")
但在运行时我看到这个错误:
没有具有键“父”的“IEnumerable”类型的 ViewData 项。
我该如何解决?谢谢。
我想创建一个只有默认值的空下拉列表。我使用以下代码:
@Html.DropDownList("parent","--Select Parent--")
但在运行时我看到这个错误:
没有具有键“父”的“IEnumerable”类型的 ViewData 项。
我该如何解决?谢谢。
您可以像这样构建一个空的 DropDownList:
@Html.DropDownList("parent", Enumerable.Empty<SelectListItem>(), "--Select Parent--")
在上面的示例中添加 html 属性:
@Html.DropDownList("Idparent", Enumerable.Empty<SelectListItem>(), "Select one...", new {@class="form-control"})
您可以简单地在视图中创建一个 HTML Select 选项。
<select id="parent" name="parent">
<option value="">Select parent </option>
</select>
编辑: 根据评论。
提交表单时,您可以通过具有parent
名称的参数来获取所选值
[HttpPost]
public ActionResult Create(string parent,string otherParameterName)
{
//read and save and return / redirect
}
或者parent
在您用于模型绑定的 ViewModel 中有一个属性。
public class CreateProject
{
public string parent { set;get;}
public string ProjectName { set;get;}
}
并在您的操作方法中。
[HttpPost]
public ActionResult Create(CreateProject model)
{
// check model.parent value.
}
你可以在你的控制器中做这样的事情来构建一个空的下拉列表
ViewBag.ClassID = new SelectList(db.Classes.Where(c => c.ClassID == 0) , "ClassID", "ClassName").ToList();