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")

相关内容

热门资讯

分享个大家!爱玩联盟脚本,wp... 【福星临门,好运相随】;分享个大家!爱玩联盟脚本,wpk模拟器多开,软件教程(确实有挂);暗藏猫腻,...
玩家必备教程!789大菠萝攻略... 玩家必备教程!789大菠萝攻略,wepokerplus开挂,黑科技教程(存在有挂);789大菠萝攻略...
分享开挂内幕!广西老友玩有破解... 分享开挂内幕!广西老友玩有破解码,impoker辅助,科技教程(有挂教程),广西老友玩有破解码是用手...
玩家必看科普!欢聚水鱼辅助,德... 玩家必看科普!欢聚水鱼辅助,德州透视hhpoker,2025新版(有挂实锤);1、这是跨平台的欢聚水...
揭秘攻略!欢乐游戏城攻略,菠萝... 揭秘攻略!欢乐游戏城攻略,菠萝辅助器免费版的特点,解密教程(有挂详情)是一款可以让一直输的玩家,快速...
一分钟了解!广东雀神智能插件免... 一分钟了解!广东雀神智能插件免费,德扑圈透视,可靠技巧(有挂细节);大家肯定在之前广东雀神智能插件免...
玩家必备科普!佛手十三道辅助,... 玩家必备科普!佛手十三道辅助,德普软件,必赢方法(有挂辅助);1、这是跨平台的佛手十三道辅助黑科技,...
最新技巧!内蒙老友辅助,wer... 最新技巧!内蒙老友辅助,werplan有挂吗,必备教程(有挂详细);内蒙老友辅助是一种具有地方特色的...
我来教教大家!潮友潮汕木虱开挂... 我来教教大家!潮友潮汕木虱开挂辅助器下载,wepoker免费辅助器,必赢方法(有挂秘诀)是一款可以让...
推荐十款!潮友会鱼虾蟹骰子概率... 推荐十款!潮友会鱼虾蟹骰子概率计算公式,拱趴大菠萝万能挂图解,力荐教程(有挂头条);潮友会鱼虾蟹骰子...