【发布时间】:2025-12-22 17:35:11
【问题描述】:
我的模型链接了数据库中的 2 个表,因此在主表中创建新记录时,我需要允许我的用户在辅助表中选择一个项目。
我要链接的表是 Roles 和 Users
对于用户角色,当您创建新用户记录时,您将从下拉列表中选择一个角色。用户模型的总和如下所示:
public int Id { get; set; }
public int RoleId { get; set; }
public Role Role { get; set; }
public string Username { get; set; }
...
在表单上,您将从下拉列表中选择一个角色,这将为您提供 RoleId 的值,然后可以使用该值从数据库中选择角色:
@Html.DropDownList("RoleId", "Please select a user role.")
我遇到的问题(尽管我已经在另一个项目中使用了这个,我从中复制了代码)是 <select> 元素显然没有视图数据。
下面的实际错误文本:
System.Web.Mvc.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理
附加信息:没有具有键“RoleId”的“IEnumerable”类型的 ViewData 项。
知道我在这里做错了什么吗?
【问题讨论】:
-
是否在数据库中扮演另一个表?
-
你能展示一下
-
您需要向我们提供您的视图模型的实际代码。创建一个MCVE。您的示例不完整,因为我们看不到您如何创建视图模型并将其提供给 HTML 帮助程序。您传递的参数似乎不正确。
-
很遗憾我做不到,因为页面从未真正呈现
标签: c# asp.net-mvc model-view-controller