asp.net-mvc – 将DropDownList绑定到MVC视图中
发布时间:2020-12-15 22:27:46 所属栏目:asp.Net 来源:网络整理
导读:从这里读: ASP.NET MVC 操作SelectCategory已在控制器内创建 – public ActionResult SelectCategory() { ListSelectListItem items = new ListSelectListItem(); items.Add(new SelectListItem { Text = "Action",Value = "0"}); items.Add(new SelectList
从这里读:
ASP.NET MVC
操作SelectCategory已在控制器内创建 – public ActionResult SelectCategory() { List<SelectListItem> items = new List<SelectListItem>(); items.Add(new SelectListItem { Text = "Action",Value = "0"}); items.Add(new SelectListItem { Text = "Drama",Value = "1" }); items.Add(new SelectListItem { Text = "Comedy",Value = "2",Selected = true }); ViewBag.MovieType = items; return View(); } 我无法理解以下行中数据的绑定. @Html.DropDownList("MovieType") 虽然以类似的方式绑定数据, @Html.DropDownList("IdList"); 我得到以下错误 –
控制器动作: public ActionResult SelectId() { List<SelectListItem> items = new List<SelectListItem>(); items.Add(new SelectListItem { Text = "MyId1",Value = "MyId1",Selected=true }); items.Add(new SelectListItem { Text = "MyId2",Value = "MyId2" }); ViewBag.IdList = items; return View(); } 我错过了什么?谢谢您的帮助 ! 解决方法
您已设置ViewBag.MovieType =>当您使用@ Html.DropDownList(“MovieType”)时,下拉列表将使用此值.当您编写@ Html.DropDownList(“IdList”)时,帮助程序在ViewBag中找不到相应的IdList属性并抛??出错误,因为它不知道从何处绑定数据.
或者,如果要更改下拉列表的名称,可以使用以下内容: @Html.DropDownList("SelectedMovieType",(IEnumerable<SelectListItem>)ViewBag.MovieType) 并且您的POST操作将具有SelectedMovieType参数以检索所选值. 但我会避免使用ViewBag.定义视图模型更好: public class MyViewModel { public string SelectedMovieType { get; set; } public IEnumerable<SelectListItem> MovieTypes { get; set; } } 然后让控制器操作填充此视图模型并将其传递给视图: public ActionResult SelectId() { List<SelectListItem> items = new List<SelectListItem>(); items.Add(new SelectListItem { Text = "MyId1",Selected=true }); items.Add(new SelectListItem { Text = "MyId2",Value = "MyId2" }); var model = new MyViewModel { MovieTypes = items }; return View(model); } 并在您的强类型视图中: @model MyViewModel @Html.DropDownListFor(x => x.SelectedMovieType,Model.MovieTypes) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在同一台物理计算机上的应用程序(asp.net)之间共享缓存
- 为什么在ASP.NET MVC中暂停超时?
- asp.net-mvc – 在ASP.NET MVC 5 ActionLink中包含锚标记
- asp.net-mvc-4 – 使用Twitter Bootstrap 3放置验证消息的最
- 异常 – ASP.NET应用程序池关闭问题
- 我可以在ASP.NET应用程序中禁用IP地址(或一系列地址)吗?
- asp.net – 用于存储表单字段和字段值的数据库架构建议
- asp.net-mvc – ASP.NET MVC:在另一个动作中获取动作输出
- ASP.net代码背后和来自C#
- asp.net-mvc – 渲染位于远程服务器上的部分视图
推荐文章
站长推荐
- asp.net-web-api – AttributeRouting不能与Http
- asp.net – 需要安装Dnx Runtime软件包 有关详细
- 从ASP.NET连接到远程MongoDB实例
- 什么是文字控制用于和asp.net的标签控制有什么区
- 连接到报表服务器的尝试失败 – 在ASP.NET中设置
- 使用ASP.NET将HTML表导出到Excel
- asp.net – 处理程序执行子请求时出错’System.W
- asp.net – CSS中的内联样式与样式
- ASP.NET GridView CommandField作为TemplateFiel
- asp.net-mvc – 使用Windows身份验证与活动目录组
热点阅读