Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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# CS0029 C无法将类型隐式转换为“int?”ASP.NET CORE 5 MVC标识_C#_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

C# CS0029 C无法将类型隐式转换为“int?”ASP.NET CORE 5 MVC标识

C# CS0029 C无法将类型隐式转换为“int?”ASP.NET CORE 5 MVC标识,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,我正在使用ASP.NET Core 5 MVC标识。我想定制注册并从另一个表中添加一个选择列表,用户可以决定是否选择一个选项。 因此,我遵循这个问题的答案 但我反驳了一个问题。我也这么做了 用户模型 public class ApplicationUser : IdentityUser [ForeignKey("GameID")] public int? GameID { get; set; } 博弈模型 public i

我正在使用ASP.NET Core 5 MVC标识。我想定制注册并从另一个表中添加一个选择列表,用户可以决定是否选择一个选项。 因此,我遵循这个问题的答案

但我反驳了一个问题。我也这么做了

用户模型

public class ApplicationUser : IdentityUser

        [ForeignKey("GameID")]
        public int? GameID { get; set; }
博弈模型

        public int ID { get; set; }
        public string GameName { get; set; }
        public virtual ICollection<ApplicationUser> ApplicationUser { get; set; }
我没有发布东西的经验,而且我是个编码高手。希望它有意义

试试这样 在register.cshtml中

in OnGetAsync

GameList = _context.model name in your DBcontext.Select(x => new SelectListItem { Text = x.yourgames???.ToString(), Value = x.ID.ToString() }).ToList();

在你的OnPostSync上,保持简单

GameID = Input.GameID
在razor中,从该链接中删除该选择行并将其更改为

<select asp-for="Input.GameID" asp-items="Model.GameList" class="form-control">

我不知道链接上的人是如何做到这一点的,但在链接和帖子的上下文中,我相信是关于注册表单中的选择。

为什么你的int可以为空?int之后?还有完整的堆栈跟踪吗?这将告诉您是哪一行导致了错误这没有意义:GameID=\u context.Games.Wherex=>x.ID==Input.GameID您试图将游戏列表存储为单个int?价值游戏列表不仅仅是一个整数,它包含的数据要多得多。这就是错误告诉您的,您的游戏对象集合无法转换为int?。你想做什么?你只是想得到一个游戏id吗?如果是这样,GameID=\u context.Games.Wherex=>x.ID==Input.GameID这就是问题所在。此代码与您发布链接的问题中的代码完全不同;该代码不是异步的,没有InputModel,没有使用可为null的int?;总的来说,这段代码对于理解您的问题毫无用处。
GameID = Input.GameID
<select asp-for="Input.GameID" asp-items="Model.GameList" class="form-control">