【发布时间】:2012-01-26 11:34:54
【问题描述】:
我需要在一个视图中仅在列表中的多个元素之间进行选择。我的列表元素是复杂类型。
我在 viewBag 中收到我可以选择的所有元素的列表。
我尝试了几件事都没有成功,我想要的最接近的事情是这样的:
@{SelectList list = new SelectList(ViewBag.Entities, Model);}
@Html.DropDownListFor(x => x, list);
你知道如何使用它吗?
编辑: 也试过这个:
@Html.DropDownListFor(x => x, new SelectList(ViewBag.Entities, "", "名称"));
EDIT2:也试图改变我的模型,有一个“int”作为id,代表实体的当前id
@Html.DropDownListFor(x => x, new SelectList(ViewBag.Entities, "Id", "名称"));
还是有这个异常:
System.ArgumentException was unhandled by user code
Message=Value cannot be null or empty.
Parameter name: name
Source=System.Web.Mvc
ParamName=name
StackTrace:
at System.Web.Mvc.Html.SelectExtensions.SelectInternal(HtmlHelper htmlHelper, String optionLabel, String name, IEnumerable`1 selectList, Boolean allowMultiple, IDictionary`2 htmlAttributes)
at System.Web.Mvc.Html.SelectExtensions.DropDownListFor[TModel,TProperty](HtmlHelper`1 htmlHelper, Expression`1 expression, IEnumerable`1 selectList, String optionLabel, IDictionary`2 htmlAttributes)
at System.Web.Mvc.Html.SelectExtensions.DropDownListFor[TModel,TProperty](HtmlHelper`1 htmlHelper, Expression`1 expression, IEnumerable`1 selectList)
at ASP._Page_Areas_Account_Views_Auth_EntityChooser_cshtml.Execute() in d:\Workspace\XYZ\Main\Code\AdManager\Areas\Account\Views\Auth\EntityChooser.cshtml:line 20
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
InnerException:
【问题讨论】:
-
你的模型是什么类型的?
-
取决于我们正在谈论的尝试,我尝试使用我的自定义模型,int,...
标签: html asp.net-mvc drop-down-menu