ASP.NETMVC中的“ThereisnoViewDataitemoftype'IEnumerable<SelectListItem>'”如何解决?
创始人
2024-09-19 09:01:06
0

出现这个错误通常是因为在View中使用了SelectList而在Controller中没有传递正确的数据。这可以通过以下两种方法解决:

  1. 在Controller中传递正确的SelectList数据 在Controller中,你需要定义SelectList并将其作为ViewData的一部分进行传递,例如:

public ActionResult Index() { ViewBag.RolesList = new SelectList(db.Roles, "RoleId", "RoleName"); // 这里使用了ViewBag,也可以使用ViewData来传递数据 return View(); }

然后在你的View中使用这个SelectList,例如:

@Html.DropDownListFor(m => m.RoleId, (SelectList)ViewBag.RolesList, "Select a Role")

  1. 使用ViewModel来传递数据 第二种方法是创建一个ViewModel来传递你需要的数据,例如:

public class MyViewModel { public int RoleId { get; set; } public SelectList Roles { get; set; } }

然后在Controller中,你需要创建一个ViewModel实例并将数据填充到它的属性中,例如:

public ActionResult Index() { var model = new MyViewModel { Roles = new SelectList(db.Roles, "RoleId", "RoleName") }; return View(model); }

最后在你的View中使用ViewModel,例如:

@model MyViewModel

@Html.DropDownListFor(m => m.RoleId, Model.Roles, "Select a Role")

相关内容

热门资讯

透视必备"扑克之星辅... 透视必备"扑克之星辅助"确实是有辅助器(哔哩哔哩)1、每一步都需要思考,不同水平的挑战会更加具有挑战...
透视专业"wepok... 透视专业"wepoker破解是真的还是假的"原来真的是有辅助攻略(哔哩哔哩)wepoker破解是真的...
透视解迷"wepok... 透视解迷"wepoker好友局透视"一直真的是有辅助器(哔哩哔哩);1、完成wepoker好友局透视...
透视揭露"pokem... 透视揭露"pokemmo脚本辅助下载"切实有辅助工具(哔哩哔哩);1、打开软件启动之后找到中间准星的...
透视关于"wepok... 透视关于"wepoker有没有挂"竟然真的有辅助攻略(哔哩哔哩)wepoker有没有挂能透视中分为三...
透视推荐"hhpok... 透视推荐"hhpoker辅助软件"果然有辅助脚本(哔哩哔哩)1、点击下载安装,hhpoker辅助软件...
透视分享"wepok... 透视分享"wepoker免费脚本咨询"其实真的是有辅助app(哔哩哔哩)1、wepoker免费脚本咨...
透视了解"pokem... 透视了解"pokemmo手机版脚本"总是是真的辅助神器(哔哩哔哩)pokemmo手机版脚本辅助器是一...
透视开挂"xpoke... 透视开挂"xpoker透视辅助"果然是真的辅助教程(哔哩哔哩)该软件可以轻松地帮助玩家将xpoker...
透视推荐"wpk辅助... 透视推荐"wpk辅助"果然是有辅助方法(哔哩哔哩)1、让任何用户在无需wpk辅助安装教程第三方神器的...