簡體   English   中英

CS0029 C# 無法將類型隱式轉換為“int?” ASP.NET CORE 5 MVC 標識

[英]CS0029 C# Cannot implicitly convert type to 'int?' ASP.NET CORE 5 MVC Identity

我正在使用 ASP.NET Core 5 MVC Identity。 我想自定義注冊並從另一個表中添加一個選擇列表,該用戶可以決定是否選擇一個選項。 所以我正在關注這個ASP.NET Core Identity Model Customization Select List的答案

但我反駁了一個問題。 我做的差不多。

用戶 Model

public class ApplicationUser : IdentityUser

        [ForeignKey("GameID")]
        public int? GameID { get; set; }

游戲 model

        public int ID { get; set; }
        public string GameName { get; set; }
        public virtual ICollection<ApplicationUser> ApplicationUser { get; set; }

注冊.cshtml.cs

private readonly ApplicationDBContext _context
public IEnumerable<SelectListItem> GameList { get; set; }

RegisterModel{}()part
ApplicationDBContext context
_context = context;

InputModel
public int? GameID { get; set; }

OnGetAsync
GameList = availableLevels.Select(x => new SelectListItem() { Text = x.GameName, Value = x.ID.ToString() }).ToList();

OnPostAsync
GameID = _context.Games.Where(x => x.ID == Input.GameID)

我沒有發布東西的經驗,而且我是編碼的菜鳥。 希望有意義

在你的 register.cshtml 中嘗試這樣的事情

in OnGetAsync

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

並在您的 OnPostAsync 上保持簡單

GameID = Input.GameID

在 razor 中,從該鏈接中刪除 select 行並將其更改為

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

我不知道鏈接上的人是如何做到的,但是在該鏈接的上下文中,帖子是關於我相信的注冊表中的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM