前提・実現したいこと
部品管理システムを開発しており、
部品の分類を行うためのNoを割り振る機能を作成したいと考えています。
各Noに一文字のみで1~9、A-Zまで割り振れるようにする仕様で、
既に使用している文字は新しく分類を登録するときに選択する文字から除去したもので選択したい。
配列で既存で登録されているものを除去した配列が渡っているのは確認できたのですが、
HTMLの<select>へデータを渡す部分がうまくいかないです。
どなたかお助け頂けませんでしょうか。
発生している問題・エラーメッセージ
エラーのアラートは特になし HTMLで配列値が読み込まれず、<select></select>内で値がなく、選択できない。
該当のソースコード
C#
1 public SelectList ProcID { get; set; } 2 3public IActionResult OnGet() 4 { 5 var dbList = _context.ProcNameR.Select(i => i.ProcNameRID).ToList(); 6 var tempList = new List<string> { "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; 7 8 SelectList procList = new SelectList(tempList.Except(dbList)); 9 10 ProcID = procList; 11 12 return Page(); 13 }
該当のソースコード
HTML
1@page 2@model prototype1.Pages.Masters.Proc.CreateModel 3 4@{ 5 ViewData["Title"] = "Create"; 6} 7 8<h1>Create</h1> 9 10<h4>ProcNameR</h4> 11<hr /> 12<div class="row"> 13 <div class="col-md-4"> 14 <form method="post"> 15 <div asp-validation-summary="ModelOnly" class="text-danger"></div> 16 <div class="form-group"> 17 <label asp-for="ProcNameR.ProcNameRID" class="control-label"></label> 18 <select asp-for="ProcNameR.ProcNameRID" class="form-control" asp-items="Model.ProcID" /> 19 </div> 20 21 <div class="form-group"> 22 <label asp-for="ProcNameR.ProcName" class="control-label"></label> 23 <input asp-for="ProcNameR.ProcName" class="form-control" /> 24 <span asp-validation-for="ProcNameR.ProcName" class="text-danger"></span> 25 </div> 26 <div class="form-group"> 27 <input type="submit" value="Create" class="btn btn-primary" /> 28 </div> 29 </form> 30 </div> 31</div> 32 33<div> 34 <a asp-page="Index">Back to List</a> 35</div> 36 37@section Scripts { 38 @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} 39}
試したこと
ProcID = tempList.Except(dbList) で直接データを入力したが効果なし
補足情報(FW/ツールのバージョンなど)
visual stadio 2017
ASP.NET CORE 2.2
Local SQL Server
回答2件
あなたの回答
tips
プレビュー