Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将下拉菜单项与一组外键关联?_C#_Asp.net Mvc_Entity Framework - Fatal编程技术网

C# 如何将下拉菜单项与一组外键关联?

C# 如何将下拉菜单项与一组外键关联?,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我目前正在制作一个web应用程序,允许用户创建、编辑和存储桌面RPG角色信息。此应用程序使用ASP.NET MVC 5进行表示,使用Entity Framework 6进行DB访问 目前,连接角色信息和他们当前种族的数据库的设计如下所示 在角色创建期间,我希望向用户显示一个下拉列表,其中包含各个可玩种族的所有名称。但是,当发布角色创建表单时,我希望将种族的主键插入到该角色的记录中,而不是名称本身 如何将键值与下拉列表中的种族名称安全关联?我是否需要查询数据库以获取密钥,或者是否有HTML助手方

我目前正在制作一个web应用程序,允许用户创建、编辑和存储桌面RPG角色信息。此应用程序使用ASP.NET MVC 5进行表示,使用Entity Framework 6进行DB访问

目前,连接角色信息和他们当前种族的数据库的设计如下所示

在角色创建期间,我希望向用户显示一个下拉列表,其中包含各个可玩种族的所有名称。但是,当发布角色创建表单时,我希望将种族的主键插入到该角色的记录中,而不是名称本身


如何将键值与下拉列表中的种族名称安全关联?我是否需要查询数据库以获取密钥,或者是否有HTML助手方法将两者之间的关联安全地烘焙到下拉列表中?

HTML选择选项包含文本和值。文本显示在页面上,值与表单数据一起提交。实际上有一个很好的HTML助手方法来创建选择

下面是一个在您的情况下如何使用此功能的示例:

@Html.DropDownListFor(model=>model.RaceId,
Model.Races.Select(race=>newselectListItem
{
Text=race.Name,//显示在下拉列表中
Value=race.Id,//提交给Model.RaceId的控制器
Selected=Model.RaceId==race.Id//可以选择其中一个
}))
您可以阅读有关此方法的更多信息