{"id":5376,"date":"2022-10-20T22:11:23","date_gmt":"2022-10-20T13:11:23","guid":{"rendered":"https:\/\/okamurax.com\/?p=5376"},"modified":"2022-10-20T22:53:47","modified_gmt":"2022-10-20T13:53:47","slug":"casp-net-core-%e6%a9%9f%e5%99%a8%e7%ae%a1%e7%90%86%e3%82%a2%e3%83%97%e3%83%aa","status":"publish","type":"post","link":"https:\/\/appbay.org\/?p=5376","title":{"rendered":"C#(ASP.NET Core) \u6a5f\u5668\u7ba1\u7406\u30a2\u30d7\u30ea"},"content":{"rendered":"<p>WindowsForms\u3070\u304b\u308a\u3067ASP.NET\u3067\u52d5\u304f\u3082\u306e\u3092\u4f5c\u3063\u305f\u3053\u3068\u304c\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u52c9\u5f37\u3092\u517c\u306d\u3066\u6a5f\u5668\u7ba1\u7406\u30a2\u30d7\u30ea\u3092\u4f5c\u3063\u3066\u307f\u305f\u3002<\/p>\n<p><iframe loading=\"lazy\" title=\"C#(ASP.NET Core) \u6a5f\u5668\u7ba1\u7406\u30a2\u30d7\u30ea\" width=\"525\" height=\"295\" src=\"https:\/\/www.youtube.com\/embed\/r1ztUuOjAqE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Program.cs<\/p>\n<pre class=\"lang:c# decode:true \">using Microsoft.AspNetCore.Authentication.Cookies;\r\nusing Microsoft.AspNetCore.Authorization;\r\nusing Microsoft.AspNetCore.Mvc.Authorization;\r\nusing Microsoft.EntityFrameworkCore;\r\nusing System.Reflection;\r\nusing WebApplication1.Models;\r\n\r\nvar builder = WebApplication.CreateBuilder(args);\r\nbuilder.Services.AddControllersWithViews();\r\nbuilder.Services.AddDbContext&lt;TestDbContext&gt;(options =&gt;\r\n{\r\n    options.UseSqlite(\"Data Source=\" + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @\"\\dat.sqlite\");\r\n});\r\n\r\nbuilder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)\r\n    .AddCookie(options =&gt;\r\n    {\r\n        options.LoginPath = \"\/account\/login\/\";\r\n    });\r\n\r\nbuilder.Services.AddControllers(options =&gt;\r\n{\r\n    options.Filters.Add(new AuthorizeFilter(new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build()));\r\n});\r\n\r\nbuilder.Services.AddSingleton&lt;SelectItems&gt;();\r\n\r\nvar app = builder.Build();\r\n\r\n\r\nif (!app.Environment.IsDevelopment())\r\n{\r\n    app.UseExceptionHandler(\"\/Home\/Error\");\r\n    app.UseHsts();\r\n}\r\n\r\napp.UseHttpsRedirection();\r\napp.UseStaticFiles();\r\napp.UseRouting();\r\napp.UseAuthorization();\r\napp.UseAuthentication();\r\napp.MapControllerRoute(\r\n    name: \"default\",\r\n    pattern: \"{controller=TestTable33}\/{action=Index}\/{id?}\");\r\n\r\napp.Run();\r\n<\/pre>\n<p>ApplicationUser.cs<\/p>\n<pre class=\"lang:c# decode:true \">using System.ComponentModel.DataAnnotations;\r\n\r\nnamespace WebApplication1\r\n{\r\n    public class ApplicationUser\r\n    {\r\n        public string UserName { get; set; }\r\n\r\n        [Required(ErrorMessage = \"\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u5fc5\u9808\u3067\u3059\u3002\")]\r\n        public string Password { get; set; }\r\n    }\r\n}\r\n<\/pre>\n<p>Index.cshtml<\/p>\n<pre class=\"lang:c# decode:true \">@model IEnumerable&lt;WebApplication1.Models.TestTable33&gt;\r\n\r\n&lt;div class=\"card card-body bg-light border-dark mb-1\"&gt;\r\n\t&lt;div class=\"row\"&gt;\r\n\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t@if (User.Identity.Name == \"\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\")\r\n\t\t\t{\r\n\t\t\t\t&lt;a class=\"d-grid btn btn-primary bg-gradient mt-1\" asp-action=\"Create\"&gt;\u65b0\u898f\u4f5c\u6210&lt;\/a&gt;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t&lt;a class=\"d-grid btn btn-primary bg-gradient mt-1 disabled\" asp-action=\"Create\"&gt;\u65b0\u898f\u4f5c\u6210&lt;\/a&gt;\r\n\t\t\t}\r\n\t\t&lt;\/div&gt;\r\n\t\t&lt;div class=\"col-md-4 btn-group\"&gt;\r\n\t\t\t&lt;a class=\"d-grid btn btn-primary bg-gradient mt-1\" data-bs-toggle=\"collapse\" data-bs-target=\"#searchMenu\"&gt;\u691c\u3000\u7d22&lt;\/a&gt;\r\n\t\t\t&lt;a class=\"d-grid btn btn-primary bg-gradient mt-1\" asp-action=\"Index\"&gt;\u30af\u30ea\u30a2&lt;\/a&gt;\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;form asp-action=\"search\"&gt;\r\n\t&lt;div class=\"row\"&gt;\r\n\t\t&lt;div class=\"col-12 collapse\" id=\"searchMenu\"&gt;\r\n\t\t\t&lt;div class=\"card card-body bg-light border-dark mb-1\"&gt;\r\n\t\t\t\t&lt;div class=\"row\"&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t\t\t\t&lt;input type=\"text\" name=\"Number\" class=\"form-control mt-1\" placeholder=\"\u7ba1\u7406\u756a\u53f7\" \/&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t\t\t\t&lt;input type=\"text\" name=\"Name\" class=\"form-control mt-1\" placeholder=\"\u4e00\u822c\u540d\u79f0\" \/&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t\t\t\t&lt;input type=\"text\" name=\"Model\" class=\"form-control mt-1\" placeholder=\"\u30e2\u30c7\u30eb\u540d\" \/&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"row\"&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t\t\t\t&lt;input type=\"text\" name=\"Maker\" class=\"form-control mt-1\" placeholder=\"\u30e1\u30fc\u30ab\u30fc\" \/&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t\t\t\t&lt;input type=\"text\" name=\"Location\" class=\"form-control mt-1\" placeholder=\"\u8a2d\u7f6e\u5834\u6240\" \/&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-4 text-end\"&gt;\r\n\t\t\t\t\t\t&lt;input type=\"submit\" value=\"\u5b9f\u3000\u884c\" class=\"btn btn-primary bg-gradient mt-1\" \/&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/form&gt;\r\n\r\n&lt;div class=\"row\"&gt;\r\n\t&lt;div class=\"col-md-12\"&gt;\r\n\t\t&lt;div class=\"card card-body bg-light border-dark table-responsive\"&gt;\r\n\t\t\t&lt;div class=\"row\"&gt;\r\n\t\t\t\t&lt;table class=\"table bg-white table-bordered border-dark table-hover\"&gt;\r\n\t\t\t\t\t&lt;thead&gt;\r\n\t\t\t\t\t\t&lt;tr class=\"text-nowrap\"&gt;\r\n\t\t\t\t\t\t\t&lt;th class=\"col-2\"&gt;\r\n\t\t\t\t\t\t\t\t\u7ba1\u7406\u756a\u53f7\r\n\t\t\t\t\t\t\t&lt;\/th&gt;\r\n\t\t\t\t\t\t\t&lt;th class=\"col-2\"&gt;\r\n\t\t\t\t\t\t\t\t\u4e00\u822c\u540d\u79f0\r\n\t\t\t\t\t\t\t&lt;\/th&gt;\r\n\t\t\t\t\t\t\t&lt;th class=\"col-2\"&gt;\r\n\t\t\t\t\t\t\t\t\u30e2\u30c7\u30eb\u540d\r\n\t\t\t\t\t\t\t&lt;\/th&gt;\r\n\t\t\t\t\t\t\t&lt;th class=\"col-2\"&gt;\r\n\t\t\t\t\t\t\t\t\u30e1\u30fc\u30ab\u30fc\r\n\t\t\t\t\t\t\t&lt;\/th&gt;\r\n\t\t\t\t\t\t\t&lt;th class=\"col-2\"&gt;\r\n\t\t\t\t\t\t\t\t\u8a2d\u7f6e\u5834\u6240\r\n\t\t\t\t\t\t\t&lt;\/th&gt;\r\n\t\t\t\t\t\t&lt;\/tr&gt;\r\n\r\n\t\t\t\t\t&lt;\/thead&gt;\r\n\t\t\t\t\t&lt;tbody&gt;\r\n\t\t\t\t\t\t@foreach (var item in Model)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t&lt;tr class=\"text-break\"&gt;\r\n\t\t\t\t\t\t\t\t&lt;td&gt;\r\n\t\t\t\t\t\t\t\t\t@Html.DisplayFor(modelItem =&gt; item.\u7ba1\u7406\u756a\u53f7)\r\n\t\t\t\t\t\t\t\t\t&lt;br&gt;\r\n\r\n\t\t\t\t\t\t\t\t\t&lt;a class=\"btn btn-primary bg-gradient mt-1\" asp-action=\"Details\" asp-route-id=\"@item.Id\"&gt;\u8a73\u7d30&lt;\/a&gt;\r\n\r\n\t\t\t\t\t\t\t\t\t@if (User.Identity.Name == \"\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\")\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t&lt;a class=\"btn btn-primary bg-gradient mt-1\" asp-action=\"Edit\" asp-route-id=\"@item.Id\"&gt;\u7de8\u96c6&lt;\/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t&lt;a class=\"btn btn-primary bg-gradient mt-1\" asp-action=\"Delete\" asp-route-id=\"@item.Id\"&gt;\u524a\u9664&lt;\/a&gt;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t&lt;a class=\"btn btn-primary bg-gradient mt-1 disabled\" asp-action=\"Edit\" asp-route-id=\"@item.Id\"&gt;\u7de8\u96c6&lt;\/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t&lt;a class=\"btn btn-primary bg-gradient mt-1 disabled\" asp-action=\"Delete\" asp-route-id=\"@item.Id\"&gt;\u524a\u9664&lt;\/a&gt;\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t&lt;\/td&gt;\r\n\t\t\t\t\t\t\t\t&lt;td&gt;\r\n\t\t\t\t\t\t\t\t\t@Html.DisplayFor(modelItem =&gt; item.\u4e00\u822c\u540d\u79f0)\r\n\t\t\t\t\t\t\t\t&lt;\/td&gt;\r\n\t\t\t\t\t\t\t\t&lt;td&gt;\r\n\t\t\t\t\t\t\t\t\t@Html.DisplayFor(modelItem =&gt; item.\u30e2\u30c7\u30eb\u540d)\r\n\t\t\t\t\t\t\t\t&lt;\/td&gt;\r\n\t\t\t\t\t\t\t\t&lt;td&gt;\r\n\t\t\t\t\t\t\t\t\t@Html.DisplayFor(modelItem =&gt; item.\u30e1\u30fc\u30ab\u30fc)\r\n\t\t\t\t\t\t\t\t&lt;\/td&gt;\r\n\t\t\t\t\t\t\t\t&lt;td&gt;\r\n\t\t\t\t\t\t\t\t\t@Html.DisplayFor(modelItem =&gt; item.\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240)\r\n\t\t\t\t\t\t\t\t&lt;\/td&gt;\r\n\t\t\t\t\t\t\t&lt;\/tr&gt;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t&lt;\/tbody&gt;\r\n\t\t\t\t&lt;\/table&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>Edit.cshtml<\/p>\n<pre class=\"lang:c# decode:true \">@model WebApplication1.Models.TestTable33\r\n@inject WebApplication1.Models.SelectItems selectItems\r\n\r\n&lt;div class=\"card card-body bg-light border-dark mb-1\"&gt;\r\n\t&lt;div class=\"row\"&gt;\r\n\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t&lt;a class=\"d-grid btn btn-primary bg-gradient\" asp-action=\"Index\"&gt;\u30ad\u30e3\u30f3\u30bb\u30eb&lt;\/a&gt;\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;form enctype=\"multipart\/form-data\" asp-action=\"Edit\"&gt;\r\n\t&lt;div class=\"card card-body bg-light border-dark\"&gt;\r\n\t\t&lt;div class=\"row\"&gt;\r\n\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\r\n\t\t\t\t&lt;div asp-validation-summary=\"ModelOnly\" class=\"text-danger\"&gt;&lt;\/div&gt;\r\n\t\t\t\t&lt;input type=\"hidden\" asp-for=\"Id\" \/&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u7ba1\u7406\u756a\u53f7\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u7ba1\u7406\u756a\u53f7\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u7ba1\u7406\u756a\u53f7\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u95a2\u9023\u756a\u53f7\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u95a2\u9023\u756a\u53f7\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u95a2\u9023\u756a\u53f7\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u5c0e\u5165\u5e74\u6708\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u5c0e\u5165\u5e74\u6708\" class=\"form-control ymd\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u5c0e\u5165\u5e74\u6708\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u62c5\u5f53\u8005\uff11\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u62c5\u5f53\u8005\uff11\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u62c5\u5f53\u8005\uff11\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u62c5\u5f53\u8005\uff12\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u62c5\u5f53\u8005\uff12\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u62c5\u5f53\u8005\uff12\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u4e00\u822c\u540d\u79f0\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u4e00\u822c\u540d\u79f0\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u4e00\u822c\u540d\u79f0\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30e2\u30c7\u30eb\u540d\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30e2\u30c7\u30eb\u540d\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30e2\u30c7\u30eb\u540d\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30e1\u30fc\u30ab\u30fc\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30e1\u30fc\u30ab\u30fc\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30e1\u30fc\u30ab\u30fc\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u6240\u6709\u5f62\u614b\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;select asp-for=\"\u6240\u6709\u5f62\u614b\" asp-items=\"selectItems.AcquiredType\" class=\"form-control\"&gt;&lt;\/select&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u6240\u6709\u5f62\u614b\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"Id\u30e6\u30fc\u30b6\u30fc\u540d\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"Id\u30e6\u30fc\u30b6\u30fc\u540d\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"Id\u30e6\u30fc\u30b6\u30fc\u540d\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30e1\u30fc\u30eb\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30e1\u30fc\u30eb\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30e1\u30fc\u30eb\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff11\" class=\"control-label\"&gt;\u30d1\u30b9\u30ef\u30fc\u30c9\uff11(\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\u306e\u307f)&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff11\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff11\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff12\" class=\"control-label\"&gt;\u30d1\u30b9\u30ef\u30fc\u30c9\uff12(\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\u306e\u307f)&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff12\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff12\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff13\" class=\"control-label\"&gt;\u30d1\u30b9\u30ef\u30fc\u30c9\uff13(\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\u306e\u307f)&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff13\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff13\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label class=\"control-label\"&gt;\u5199\u771f&lt;\/label&gt;\r\n\t\t\t\t\t&lt;div&gt;\r\n\t\t\t\t\t\t@{\r\n\t\t\t\t\t\t\tif ((bool)ViewData[\"exists\"])\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t&lt;img src=\"@Url.Content(\"~\/image\/\" + Model.Id + \".png\")\" class=img-fluid&gt;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t&lt;img src=\"@Url.Content(\"~\/image\/nophoto.png\")\" class=img-fluid&gt;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;input type=\"file\" name=\"furniture\" class=\"form-control\" accept=\".png,.jpg\" \/&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u5099\u8003\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;textarea rows=\"20\" asp-for=\"\u5099\u8003\" class=\"form-control\"&gt;@Model.\u5099\u8003&lt;\/textarea&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"row\"&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-6\"&gt;&lt;\/div&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-6\"&gt;\r\n\t\t\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t\t\t&lt;input type=\"submit\" value=\"\u767b\u3000\u9332\" class=\"form-control btn btn-primary bg-gradient mt-1\" \/&gt;\r\n\t\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t&lt;\/div&gt;\r\n\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/form&gt;\r\n\r\n@section Scripts {\r\n\r\n\t@{\r\n\t\tawait Html.RenderPartialAsync(\"_ValidationScriptsPartial\");\r\n\t}\r\n\r\n\t&lt;script type=\"text\/javascript\"&gt;\r\n\r\n\t\twindow.addEventListener('load', function () {\r\n\t\t\tlet elements = document.querySelectorAll('.ymd');\r\n\t\t\tfor (let i = 0; i &lt; elements.length; i++) {\r\n\t\t\t\telements[i].addEventListener('blur', function () {\r\n\t\t\t\t\tlet ymd = new Date(elements[i].value);\r\n\t\t\t\t\tif (Number.isNaN(ymd.getTime())) {\r\n\t\t\t\t\t\telements[i].value = \"\";\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet y = ymd.getFullYear();\r\n\t\t\t\t\tif (y === 2001) y = new Date().getFullYear();\r\n\t\t\t\t\tlet m = (\"00\" + (ymd.getMonth() + 1)).slice(-2);\r\n\t\t\t\t\tlet d = (\"00\" + ymd.getDate()).slice(-2);\r\n\t\t\t\t\telements[i].value = y + \"\/\" + m + \"\/\" + d;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t&lt;\/script&gt;\r\n\r\n}\r\n\r\n\r\n<\/pre>\n<p>Details.cshtml<\/p>\n<pre class=\"lang:c# decode:true \">@model WebApplication1.Models.TestTable33\r\n\r\n&lt;div class=\"card card-body bg-light border-dark mb-1\"&gt;\r\n\t&lt;div class=\"row\"&gt;\r\n\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t&lt;a class=\"d-grid btn btn-primary bg-gradient\" asp-action=\"Index\"&gt;\u30ad\u30e3\u30f3\u30bb\u30eb&lt;\/a&gt;\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;div class=\"card card-body bg-light border-dark mb-1\"&gt;\r\n\t&lt;div class=\"row\"&gt;\r\n\t\t&lt;div class=\"col-md-12\"&gt;\r\n\t\t\t&lt;img class=\"img-fluid\" src=@Url.Content(\"\/TestTable33\/CreateImage\/\" + ViewData[\"number\"])&gt;\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;div class=\"card card-body bg-light border-dark mb-1\"&gt;\r\n\t&lt;div class=\"row\"&gt;\r\n\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u7ba1\u7406\u756a\u53f7\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u7ba1\u7406\u756a\u53f7\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u95a2\u9023\u756a\u53f7\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u95a2\u9023\u756a\u53f7\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u5c0e\u5165\u5e74\u6708\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u5c0e\u5165\u5e74\u6708\" class=\"form-control ymd\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u62c5\u5f53\u8005\uff11\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u62c5\u5f53\u8005\uff11\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u62c5\u5f53\u8005\uff12\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u62c5\u5f53\u8005\uff12\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u4e00\u822c\u540d\u79f0\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u4e00\u822c\u540d\u79f0\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u30e2\u30c7\u30eb\u540d\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u30e2\u30c7\u30eb\u540d\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u30e1\u30fc\u30ab\u30fc\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u30e1\u30fc\u30ab\u30fc\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u6240\u6709\u5f62\u614b\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u6240\u6709\u5f62\u614b\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"Id\u30e6\u30fc\u30b6\u30fc\u540d\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"Id\u30e6\u30fc\u30b6\u30fc\u540d\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u30e1\u30fc\u30eb\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u30e1\u30fc\u30eb\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff11\" class=\"control-label\"&gt;\u30d1\u30b9\u30ef\u30fc\u30c9\uff11(\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\u306e\u307f)&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff11\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff12\" class=\"control-label\"&gt;\u30d1\u30b9\u30ef\u30fc\u30c9\uff12(\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\u306e\u307f)&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff12\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff13\" class=\"control-label\"&gt;\u30d1\u30b9\u30ef\u30fc\u30c9\uff13(\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\u306e\u307f)&lt;\/label&gt;\r\n\t\t\t\t&lt;input asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff13\" class=\"form-control\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\r\n\t\t&lt;\/div&gt;\r\n\r\n\t\t&lt;div class=\"col-md-4\"&gt;\r\n\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label class=\"control-label\"&gt;\u5199\u771f&lt;\/label&gt;\r\n\t\t\t\t&lt;div&gt;\r\n\t\t\t\t\t@{\r\n\t\t\t\t\t\tif ((bool)ViewData[\"exists\"])\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t&lt;img src=\"@Url.Content(\"~\/image\/\" + Model.Id + \".png\")\" class=img-fluid&gt;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t&lt;img src=\"@Url.Content(\"~\/image\/nophoto.png\")\" class=img-fluid&gt;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t&lt;label asp-for=\"\u5099\u8003\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t&lt;textarea rows=\"20\" asp-for=\"\u5099\u8003\" class=\"form-control\"&gt;@Model.\u5099\u8003&lt;\/textarea&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n<\/pre>\n<p>Delete.cshtml<\/p>\n<pre class=\"lang:c# decode:true \">@model WebApplication1.Models.TestTable33\r\n\r\n&lt;div class=\"card card-body bg-light border-dark mb-1\"&gt;\r\n\t&lt;p&gt;\u672c\u5f53\u306b\u524a\u9664\u3057\u307e\u3059\u304b\uff1f&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;form asp-action=\"Delete\"&gt;\r\n\t&lt;div class=\"card card-body bg-light border-dark\"&gt;\r\n\t\t&lt;div class=\"row\"&gt;\r\n\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t\t&lt;a class=\"d-grid btn btn-primary bg-gradient mt-1\" asp-action=\"Index\"&gt;\u30ad\u30e3\u30f3\u30bb\u30eb&lt;\/a&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t\t&lt;input type=\"submit\" value=\"\u524a\u3000\u9664\" class=\"form-control btn btn-danger bg-gradient mt-1\" \/&gt;\r\n\t\t\t\t&lt;input type=\"hidden\" asp-for=\"Id\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/form&gt;\r\n\r\n<\/pre>\n<p>Create.cshtml<\/p>\n<pre class=\"lang:c# decode:true \">@model WebApplication1.Models.TestTable33\r\n@inject WebApplication1.Models.SelectItems selectItems\r\n\r\n&lt;div class=\"card card-body bg-light border-dark mb-1\"&gt;\r\n\t&lt;div class=\"row\"&gt;\r\n\t\t&lt;div class=\"col-md-4\"&gt;\r\n\t\t\t&lt;a class=\"d-grid btn btn-primary bg-gradient\" asp-action=\"Index\"&gt;\u30ad\u30e3\u30f3\u30bb\u30eb&lt;\/a&gt;\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;form enctype=\"multipart\/form-data\" asp-action=\"Create\"&gt;\r\n\t&lt;div class=\"card card-body bg-light border-dark\"&gt;\r\n\t\t&lt;div class=\"row\"&gt;\r\n\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\r\n\t\t\t\t&lt;div asp-validation-summary=\"ModelOnly\" class=\"text-danger\"&gt;&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group d-none\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"Id\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"Id\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"Id\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u7ba1\u7406\u756a\u53f7\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u7ba1\u7406\u756a\u53f7\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u7ba1\u7406\u756a\u53f7\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u95a2\u9023\u756a\u53f7\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u95a2\u9023\u756a\u53f7\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u95a2\u9023\u756a\u53f7\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u5c0e\u5165\u5e74\u6708\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u5c0e\u5165\u5e74\u6708\" class=\"form-control ymd\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u5c0e\u5165\u5e74\u6708\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u62c5\u5f53\u8005\uff11\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u62c5\u5f53\u8005\uff11\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u62c5\u5f53\u8005\uff11\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u62c5\u5f53\u8005\uff12\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u62c5\u5f53\u8005\uff12\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u62c5\u5f53\u8005\uff12\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u4e00\u822c\u540d\u79f0\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u4e00\u822c\u540d\u79f0\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u4e00\u822c\u540d\u79f0\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30e2\u30c7\u30eb\u540d\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30e2\u30c7\u30eb\u540d\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30e2\u30c7\u30eb\u540d\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30e1\u30fc\u30ab\u30fc\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30e1\u30fc\u30ab\u30fc\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30e1\u30fc\u30ab\u30fc\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u6240\u6709\u5f62\u614b\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;select asp-for=\"\u6240\u6709\u5f62\u614b\" asp-items=\"selectItems.AcquiredType\" class=\"form-control\"&gt;&lt;\/select&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u6240\u6709\u5f62\u614b\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"Id\u30e6\u30fc\u30b6\u30fc\u540d\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"Id\u30e6\u30fc\u30b6\u30fc\u540d\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"Id\u30e6\u30fc\u30b6\u30fc\u540d\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30e1\u30fc\u30eb\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30e1\u30fc\u30eb\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30e1\u30fc\u30eb\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff11\" class=\"control-label\"&gt;\u30d1\u30b9\u30ef\u30fc\u30c9\uff11(\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\u306e\u307f)&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff11\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff11\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff12\" class=\"control-label\"&gt;\u30d1\u30b9\u30ef\u30fc\u30c9\uff12(\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\u306e\u307f)&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff12\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff12\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff13\" class=\"control-label\"&gt;\u30d1\u30b9\u30ef\u30fc\u30c9\uff13(\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\u306e\u307f)&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input asp-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff13\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"\u30d1\u30b9\u30ef\u30fc\u30c9\uff13\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t&lt;div class=\"col-md-4\"&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label class=\"control-label\"&gt;\u5199\u771f&lt;\/label&gt;\r\n\t\t\t\t\t&lt;input type=\"file\" name=\"furniture\" class=\"form-control\" accept=\".png,.jpg\"\/&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t&lt;label asp-for=\"\u5099\u8003\" class=\"control-label\"&gt;&lt;\/label&gt;\r\n\t\t\t\t\t&lt;textarea rows=\"20\" asp-for=\"\u5099\u8003\" class=\"form-control\"&gt;\r\n\t\t\t\t\t\t@Model.\u5099\u8003\r\n\t\t\t\t\t&lt;\/textarea&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\r\n\t\t\t\t&lt;div class=\"row\"&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-6\"&gt;&lt;\/div&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-6\"&gt;\r\n\t\t\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t\t\t&lt;input type=\"submit\" value=\"\u767b\u3000\u9332\" class=\"form-control btn btn-primary bg-gradient mt-1\" \/&gt;\r\n\t\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/form&gt;\r\n\r\n@section Scripts {\r\n\t@{\r\n\t\tawait Html.RenderPartialAsync(\"_ValidationScriptsPartial\");\r\n\t}\r\n\r\n\t&lt;script type=\"text\/javascript\"&gt;\r\n\r\n\t\twindow.addEventListener('load', function () {\r\n\t\t\tlet elements = document.querySelectorAll('.ymd');\r\n\t\t\tfor (let i = 0; i &lt; elements.length; i++) {\r\n\t\t\t\telements[i].addEventListener('blur', function () {\r\n\t\t\t\t\tlet ymd = new Date(elements[i].value);\r\n\t\t\t\t\tif (Number.isNaN(ymd.getTime())) {\r\n\t\t\t\t\t\telements[i].value = \"\";\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet y = ymd.getFullYear();\r\n\t\t\t\t\tif (y === 2001) y = new Date().getFullYear();\r\n\t\t\t\t\tlet m = (\"00\" + (ymd.getMonth() + 1)).slice(-2);\r\n\t\t\t\t\tlet d = (\"00\" + ymd.getDate()).slice(-2);\r\n\t\t\t\t\telements[i].value = y + \"\/\" + m + \"\/\" + d;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t&lt;\/script&gt;\r\n\r\n}\r\n<\/pre>\n<p>_Layout.cshtml<\/p>\n<pre class=\"lang:c# decode:true \">&lt;!DOCTYPE html&gt;\r\n&lt;html lang=\"ja\"&gt;\r\n&lt;head&gt;\r\n\t&lt;meta charset=\"utf-8\" \/&gt;\r\n\t&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/&gt;\r\n\t&lt;title&gt;IT\u6a5f\u5668\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0&lt;\/title&gt;\r\n\t&lt;link rel=\"stylesheet\" href=\"~\/lib\/bootstrap\/dist\/css\/bootstrap.min.css\" \/&gt;\r\n\t&lt;link rel=\"stylesheet\" href=\"~\/css\/site.css\" asp-append-version=\"true\" \/&gt;\r\n\t&lt;link rel=\"stylesheet\" href=\"~\/WebApplication1.styles.css\" asp-append-version=\"true\" \/&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n\t@if (User.Identity.IsAuthenticated)\r\n\t{\r\n\t\t&lt;div class=\"container\"&gt;\r\n\t\t\t&lt;div class=\"row\"&gt;\r\n\t\t\t\t&lt;div class=\"col-md-12\"&gt;\r\n\t\t\t\t\t&lt;div class=\"card card-body bg-light border-dark mt-1 mb-1\"&gt;\r\n\t\t\t\t\t\t&lt;div class=\"col-md-2\"&gt;\r\n\t\t\t\t\t\t\t&lt;a class=\"form-control btn btn-danger bg-gradient\" asp-controller=\"Account\" asp-action=\"Logout\"&gt;\u30ed\u30b0\u30a2\u30a6\u30c8&lt;\/a&gt;\r\n\t\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t&lt;\/div&gt;\r\n\t}\r\n\r\n\t&lt;div class=\"container\"&gt;\r\n\t\t&lt;main role=\"main\" class=\"pb-3\"&gt;\r\n\t\t\t@RenderBody()\r\n\t\t&lt;\/main&gt;\r\n\t&lt;\/div&gt;\r\n\r\n\t&lt;script src=\"~\/lib\/jquery\/dist\/jquery.min.js\"&gt;&lt;\/script&gt;\r\n\t&lt;script src=\"~\/lib\/bootstrap\/dist\/js\/bootstrap.bundle.min.js\"&gt;&lt;\/script&gt;\r\n\t&lt;script src=\"~\/js\/site.js\" asp-append-version=\"true\"&gt;&lt;\/script&gt;\r\n\t@await RenderSectionAsync(\"Scripts\", required: false)\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>Login.cshtml<\/p>\n<pre class=\"lang:c# decode:true \">@model ApplicationUser\r\n\r\n&lt;div class=\"row\"&gt;\r\n\t&lt;div class=\"col-md-4 mx-auto mt-4\"&gt;\r\n\t\t&lt;form asp-controller=\"Account\" asp-action=\"Login\"&gt;\r\n\t\t\tIT\u6a5f\u5668\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\r\n\t\t\t&lt;div class=\"card card-body bg-light p-4 border-dark\"&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t\u30e6\u30fc\u30b6\u30fc\u540d\r\n\t\t\t\t\t&lt;select class=\"form-select\" name=\"UserName\"&gt;\r\n\t\t\t\t\t\t&lt;option value=\"\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\"&gt;\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc&lt;\/option&gt;\r\n\t\t\t\t\t\t&lt;option value=\"\u95b2\u89a7\u30e6\u30fc\u30b6\u30fc\"&gt;\u95b2\u89a7\u30e6\u30fc\u30b6\u30fc&lt;\/option&gt;\r\n\t\t\t\t\t&lt;\/select&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"form-group\"&gt;\r\n\t\t\t\t\t\u30d1\u30b9\u30ef\u30fc\u30c9\r\n\t\t\t\t\t&lt;input name=\"password\" type=\"password\" class=\"form-control\" \/&gt;\r\n\t\t\t\t\t&lt;span asp-validation-for=\"Password\" class=\"text-danger\"&gt;&lt;\/span&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;div class=\"row\"&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-6\"&gt;&lt;\/div&gt;\r\n\t\t\t\t\t&lt;div class=\"col-md-6\"&gt;\r\n\t\t\t\t\t\t&lt;input name=\"submit\" value=\"\u30ed\u30b0\u30a4\u30f3\" type=\"submit\" class=\"form-control btn btn-primary bg-gradient mt-1\" \/&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;input type=\"hidden\" name=\"returnUrl\" value=\"@Model\" \/&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t&lt;\/form&gt;\r\n\t&lt;\/div&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>TestTable33.cs<\/p>\n<pre class=\"lang:c# decode:true\">namespace WebApplication1.Models\r\n{\r\n    public partial class TestTable33\r\n    {\r\n        public int Id { get; set; }\r\n\r\n        public string? \u7ba1\u7406\u756a\u53f7 { get; set; }\r\n        public string? \u95a2\u9023\u756a\u53f7 { get; set; }\r\n        public string? \u5c0e\u5165\u5e74\u6708 { get; set; }\r\n        public string? \u62c5\u5f53\u8005\uff11 { get; set; }\r\n        public string? \u62c5\u5f53\u8005\uff12 { get; set; }\r\n        public string? \u4e00\u822c\u540d\u79f0 { get; set; }\r\n        public string? \u30e2\u30c7\u30eb\u540d { get; set; }\r\n        public string? \u30e1\u30fc\u30ab\u30fc { get; set; }\r\n        public string? \u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240 { get; set; }\r\n        public string? \u6240\u6709\u5f62\u614b { get; set; }\r\n        public string? Id\u30e6\u30fc\u30b6\u30fc\u540d { get; set; }\r\n        public string? \u30e1\u30fc\u30eb { get; set; }\r\n        public string? \u30d1\u30b9\u30ef\u30fc\u30c9 { get; set; }\r\n        public string? \u30d1\u30b9\u30ef\u30fc\u30c9\uff11 { get; set; }\r\n        public string? \u30d1\u30b9\u30ef\u30fc\u30c9\uff12 { get; set; }\r\n        public string? \u30d1\u30b9\u30ef\u30fc\u30c9\uff13 { get; set; }\r\n        public string? \u5099\u8003 { get; set; }\r\n    }\r\n}\r\n<\/pre>\n<p>PurchaseType.cs<\/p>\n<pre class=\"lang:c# decode:true \">using Microsoft.AspNetCore.Mvc.Rendering;\r\n\r\nnamespace WebApplication1.Models\r\n{\r\n    public class SelectItems\r\n    {\r\n        public IEnumerable&lt;SelectListItem&gt; AcquiredType { get; } = new List&lt;SelectListItem&gt;\r\n        {\r\n            \/\/ Edit\/\u6240\u6709\u5f62\u614b\r\n            new SelectListItem {Text =\"\u8cfc\u5165\u54c1\", Value = \"\u8cfc\u5165\u54c1\"},\r\n            new SelectListItem {Text =\"\u30ec\u30f3\u30bf\u30eb\u54c1\", Value = \"\u30ec\u30f3\u30bf\u30eb\u54c1\"},\r\n            new SelectListItem {Text =\"\u30ea\u30fc\u30b9\u54c1(\u6240\u6709\u6a29\u79fb\u8ee2)\", Value = \"\u30ea\u30fc\u30b9\u54c1(\u6240\u6709\u6a29\u79fb\u8ee2)\"}\r\n        };\r\n    }\r\n}\r\n<\/pre>\n<p>TestTable33Controller.cs<\/p>\n<pre class=\"lang:c# decode:true \">using Microsoft.AspNetCore.Mvc;\r\nusing Microsoft.EntityFrameworkCore;\r\nusing SkiaSharp;\r\nusing WebApplication1.Models;\r\nusing ZXing.SkiaSharp;\r\n\r\nnamespace WebApplication1.Controllers\r\n{\r\n    public class TestTable33Controller : Controller\r\n    {\r\n        private readonly TestDbContext _context;\r\n        private readonly IWebHostEnvironment _environment;\r\n\r\n        public TestTable33Controller(TestDbContext context, IWebHostEnvironment environment)\r\n        {\r\n            _context = context;\r\n            _environment = environment;\r\n        }\r\n\r\n        public async Task&lt;IActionResult&gt; search(string Number, string Name, string Model, string Maker, string Location)\r\n        {\r\n            if (Number == null &amp;&amp; Name == null &amp;&amp; Model == null &amp;&amp; Maker == null &amp;&amp; Location == null)\r\n            {\r\n                return View(\"index\", await _context.TestTable33s.ToListAsync());\r\n            }\r\n\r\n            List&lt;TestTable33&gt; result = new List&lt;TestTable33&gt;();\r\n\r\n            if (Number != null)\r\n            {\r\n                var temp = await _context.TestTable33s.Where(\r\n                    m =&gt; m.\u7ba1\u7406\u756a\u53f7.ToLower().Contains(Number.ToLower())\r\n                    ).ToListAsync();\r\n                result.AddRange(temp);\r\n            }\r\n\r\n            if (Name != null)\r\n            {\r\n                var temp = await _context.TestTable33s.Where(\r\n                    m =&gt; m.\u4e00\u822c\u540d\u79f0.ToLower().Contains(Name.ToLower())\r\n                    ).ToListAsync();\r\n                result.AddRange(temp);\r\n            }\r\n\r\n            if (Model != null)\r\n            {\r\n                var temp = await _context.TestTable33s.Where(\r\n                    m =&gt; m.\u30e2\u30c7\u30eb\u540d.ToLower().Contains(Model.ToLower())\r\n                    ).ToListAsync();\r\n                result.AddRange(temp);\r\n            }\r\n\r\n            if (Maker != null)\r\n            {\r\n                var temp = await _context.TestTable33s.Where(\r\n                    m =&gt; m.\u30e1\u30fc\u30ab\u30fc.ToLower().Contains(Maker.ToLower())\r\n                    ).ToListAsync();\r\n                result.AddRange(temp);\r\n            }\r\n\r\n            if (Location != null)\r\n            {\r\n                var temp = await _context.TestTable33s.Where(\r\n                    m =&gt; m.\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240.ToLower().Contains(Location.ToLower())\r\n                    ).ToListAsync();\r\n                result.AddRange(temp);\r\n            }\r\n\r\n            return View(\"index\", result.Distinct().OrderBy(m =&gt; m.Id));\r\n        }\r\n\r\n        public async Task&lt;IActionResult&gt; Index()\r\n        {\r\n            return View(await _context.TestTable33s.ToListAsync());\r\n        }\r\n\r\n        public async Task&lt;IActionResult&gt; CreateImage(string? id)\r\n        {\r\n            if (id == null) id = \"\";\r\n            var number = id;\r\n\r\n            using SkiaSharp.SKBitmap bitmap = new SkiaSharp.SKBitmap(490, 100);\r\n            using SkiaSharp.SKCanvas canvas = new SkiaSharp.SKCanvas(bitmap);\r\n\r\n            canvas.Clear(SKColors.White);\r\n\r\n            SkiaSharp.SKPaint paint1 = new SkiaSharp.SKPaint();\r\n            paint1.Style = SkiaSharp.SKPaintStyle.Fill;\r\n            paint1.Color = SkiaSharp.SKColors.Blue;\r\n\r\n            SkiaSharp.SKPaint paint2 = new SkiaSharp.SKPaint();\r\n            paint2.Style = SkiaSharp.SKPaintStyle.Fill;\r\n            paint2.Color = SkiaSharp.SKColors.Black;\r\n            paint2.TextSize = 36;\r\n            paint2.Typeface = SkiaSharp.SKTypeface.FromFamilyName(\"Yu Gothic UI\");\r\n            paint2.IsAntialias = true;\r\n            canvas.DrawText(\"\u7ba1\u7406\u756a\u53f7\uff1a\", 110, 45, paint2);\r\n            canvas.DrawText(number, 110, 85, paint2); ;\r\n\r\n            var writer = new BarcodeWriter\r\n            {\r\n                Format = ZXing.BarcodeFormat.QR_CODE,\r\n                Options = new ZXing.Common.EncodingOptions\r\n                {\r\n                    Width = 90,\r\n                    Height = 90,\r\n                    Margin = 0,\r\n                }\r\n            };\r\n\r\n            var ms = new MemoryStream();\r\n            var qr = writer.Write(Request.Headers[\"Referer\"]);\r\n            canvas.DrawImage(SkiaSharp.SKImage.FromBitmap(qr), new SkiaSharp.SKPoint(5, 5));\r\n            bitmap.Encode(ms, SKEncodedImageFormat.Png, 100);\r\n            ms.Position = 0;\r\n            return new FileStreamResult(ms, \"image\/png\");\r\n        }\r\n\r\n        public async Task&lt;IActionResult&gt; Details(int? id)\r\n        {\r\n            if (id == null || _context.TestTable33s == null)\r\n            {\r\n                return RedirectToAction(\"Index\", \"TestTable33\");\r\n            }\r\n\r\n            var testTable33 = await _context.TestTable33s\r\n                .FirstOrDefaultAsync(m =&gt; m.Id == id);\r\n\r\n            if (testTable33 == null)\r\n            {\r\n                return NotFound();\r\n            }\r\n\r\n            ViewData[\"number\"] = testTable33.\u7ba1\u7406\u756a\u53f7;\r\n\r\n            if (User.Identity.Name == \"\u95b2\u89a7\u30e6\u30fc\u30b6\u30fc\")\r\n            {\r\n                testTable33.\u30d1\u30b9\u30ef\u30fc\u30c9\uff11 = \"*****\";\r\n                testTable33.\u30d1\u30b9\u30ef\u30fc\u30c9\uff12 = \"*****\";\r\n                testTable33.\u30d1\u30b9\u30ef\u30fc\u30c9\uff13 = \"*****\";\r\n            }\r\n\r\n            if(System.IO.File.Exists(_environment.WebRootPath + \"\/Image\/\" + id.ToString() + \".png\"))\r\n            {\r\n                ViewData[\"exists\"] = true;\r\n            }\r\n            else\r\n            {\r\n                ViewData[\"exists\"] = false;\r\n            }\r\n\r\n            return View(testTable33);\r\n        }\r\n\r\n        public IActionResult Create()\r\n        {\r\n            if (User.Identity.Name != \"\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\")\r\n            {\r\n                return RedirectToAction(\"Index\", \"TestTable33\");\r\n            }\r\n\r\n            var tableRow = _context.TestTable33s.OrderByDescending(m =&gt; m.Id).FirstOrDefault();\r\n            int maxId = 1;\r\n            if (tableRow != null) maxId = tableRow.Id + 1;\r\n            var testTable33 = new TestTable33();\r\n            testTable33.Id = maxId;\r\n            testTable33.\u7ba1\u7406\u756a\u53f7 = maxId.ToString().PadLeft(5, '0');\r\n            testTable33.\u5099\u8003 = \"\u30ed\u30b0\u30a4\u30f3\u3001\u30e9\u30a4\u30bb\u30f3\u30b9\u66f4\u65b0\u65b9\u6cd5\u7b49\";\r\n\r\n            return View(testTable33);\r\n        }\r\n\r\n        public async Task SaveImage(string id)\r\n        {\r\n            var formFile = Request.Form.Files[\"furniture\"];\r\n\r\n            if (formFile != null)\r\n            {\r\n                using (var ms = new MemoryStream())\r\n                {\r\n                    await formFile.CopyToAsync(ms);\r\n                    var byteArray = ms.ToArray();\r\n                    SKBitmap srcBitmap = SKBitmap.Decode(byteArray);\r\n\r\n                    ms.Position = 0;\r\n                    SKCodec codec = SKCodec.Create(ms);\r\n                    var origin = codec.EncodedOrigin;\r\n\r\n                    int w = srcBitmap.Width;\r\n                    int h = srcBitmap.Height;\r\n\r\n                    SKRect src;\r\n\r\n                    if (w &gt; h)\r\n                    {\r\n                        int tmp = (w - h) \/ 2;\r\n                        src = new SKRect(tmp, 0, tmp + h, h); \/\/ left, top, right, bottom\r\n                    }\r\n                    else if (w &lt; h)\r\n                    {\r\n                        int tmp = (h - w) \/ 2;\r\n                        src = new SKRect(0, tmp, w, tmp + w);\r\n                    }\r\n                    else \/\/ w == h\r\n                    {\r\n                        src = new SKRect(0, 0, w, h);\r\n                    }\r\n\r\n                    SKBitmap croppedBitmap = new SKBitmap(500, 500);\r\n                    SKCanvas canvas = new SKCanvas(croppedBitmap);\r\n\r\n                    \/\/ Exif Orientation\r\n                    switch (origin)\r\n                    {\r\n                        case SKEncodedOrigin.TopLeft: \/\/ 1\r\n                            break;\r\n                        case SKEncodedOrigin.TopRight: \/\/ 2\r\n                            canvas.Scale(-1, 1, 250, 250);\r\n                            break;\r\n                        case SKEncodedOrigin.BottomRight: \/\/ 3\r\n                            canvas.RotateDegrees(180, 250, 250);\r\n                            break;\r\n                        case SKEncodedOrigin.BottomLeft: \/\/ 4\r\n                            canvas.Scale(1, -1, 250, 250);\r\n                            break;\r\n                        case SKEncodedOrigin.LeftTop: \/\/ 5\r\n                            canvas.RotateDegrees(90, 250, 250);\r\n                            canvas.Scale(1, -1, 250, 250);\r\n                            break;\r\n                        case SKEncodedOrigin.RightTop: \/\/ 6\r\n                            canvas.RotateDegrees(90, 250, 250);\r\n                            break;\r\n                        case SKEncodedOrigin.RightBottom: \/\/ 7\r\n                            canvas.RotateDegrees(90, 250, 250);\r\n                            canvas.Scale(-1, 1, 250, 250);\r\n                            break;\r\n                        case SKEncodedOrigin.LeftBottom: \/\/ 8\r\n                            canvas.RotateDegrees(270, 250, 250);\r\n                            break;\r\n                    }\r\n\r\n                    SKRect dst = new SKRect(0, 0, 500, 500);\r\n                    canvas.DrawBitmap(srcBitmap, src, dst);\r\n\r\n                    using var fs = new FileStream(_environment.WebRootPath + \"\/Image\/\" + id + \".png\", FileMode.Create);\r\n                    croppedBitmap.Encode(fs, SKEncodedImageFormat.Png, 100);\r\n                }\r\n            }\r\n        }\r\n\r\n        [HttpPost]\r\n        [ValidateAntiForgeryToken]\r\n        public async Task&lt;IActionResult&gt; Create([Bind(\"Id,\u7ba1\u7406\u756a\u53f7,\u95a2\u9023\u756a\u53f7,\u5c0e\u5165\u5e74\u6708,\u62c5\u5f53\u8005\uff11,\u62c5\u5f53\u8005\uff12,\u4e00\u822c\u540d\u79f0,\u30e2\u30c7\u30eb\u540d,\u30e1\u30fc\u30ab\u30fc,\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240,\u6240\u6709\u5f62\u614b,Id\u30e6\u30fc\u30b6\u30fc\u540d,\u30e1\u30fc\u30eb,\u30d1\u30b9\u30ef\u30fc\u30c9,\u30d1\u30b9\u30ef\u30fc\u30c9\uff11,\u30d1\u30b9\u30ef\u30fc\u30c9\uff12,\u30d1\u30b9\u30ef\u30fc\u30c9\uff13,\u5099\u8003\")] TestTable33 testTable33)\r\n        {\r\n            await SaveImage(testTable33.Id.ToString());\r\n\r\n            if (ModelState.IsValid)\r\n            {\r\n                _context.Add(testTable33);\r\n                await _context.SaveChangesAsync();\r\n                return RedirectToAction(nameof(Index));\r\n            }\r\n            return View(testTable33);\r\n        }\r\n\r\n        public async Task&lt;IActionResult&gt; Edit(int? id)\r\n        {\r\n            if (User.Identity.Name != \"\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\")\r\n            {\r\n                return RedirectToAction(\"Index\", \"TestTable33\");\r\n            }\r\n\r\n            if (id == null || _context.TestTable33s == null)\r\n            {\r\n                return NotFound();\r\n            }\r\n\r\n            var testTable33 = await _context.TestTable33s.FindAsync(id);\r\n            if (testTable33 == null)\r\n            {\r\n                return NotFound();\r\n            }\r\n\r\n            if (System.IO.File.Exists(_environment.WebRootPath + \"\/Image\/\" + id.ToString() + \".png\"))\r\n            {\r\n                ViewData[\"exists\"] = true;\r\n            }\r\n            else\r\n            {\r\n                ViewData[\"exists\"] = false;\r\n            }\r\n\r\n            return View(testTable33);\r\n        }\r\n\r\n        [HttpPost]\r\n        [ValidateAntiForgeryToken]\r\n        public async Task&lt;IActionResult&gt; Edit(int id, [Bind(\"Id,\u7ba1\u7406\u756a\u53f7,\u95a2\u9023\u756a\u53f7,\u5c0e\u5165\u5e74\u6708,\u62c5\u5f53\u8005\uff11,\u62c5\u5f53\u8005\uff12,\u4e00\u822c\u540d\u79f0,\u30e2\u30c7\u30eb\u540d,\u30e1\u30fc\u30ab\u30fc,\u8a2d\u7f6e\u4fdd\u5b58\u5834\u6240,\u6240\u6709\u5f62\u614b,Id\u30e6\u30fc\u30b6\u30fc\u540d,\u30e1\u30fc\u30eb,\u30d1\u30b9\u30ef\u30fc\u30c9,\u30d1\u30b9\u30ef\u30fc\u30c9\uff11,\u30d1\u30b9\u30ef\u30fc\u30c9\uff12,\u30d1\u30b9\u30ef\u30fc\u30c9\uff13,\u5099\u8003\")] TestTable33 testTable33)\r\n        {\r\n            if (User.Identity.Name != \"\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\")\r\n            {\r\n                return RedirectToAction(\"Index\", \"TestTable33\");\r\n            }\r\n\r\n            if (id != testTable33.Id)\r\n            {\r\n                return NotFound();\r\n            }\r\n\r\n            await SaveImage(testTable33.Id.ToString());\r\n\r\n            if (ModelState.IsValid)\r\n            {\r\n                try\r\n                {\r\n                    _context.Update(testTable33);\r\n                    await _context.SaveChangesAsync();\r\n                }\r\n                catch (DbUpdateConcurrencyException)\r\n                {\r\n                    if (!TestTable33Exists(testTable33.Id))\r\n                    {\r\n                        return NotFound();\r\n                    }\r\n                    else\r\n                    {\r\n                        throw;\r\n                    }\r\n                }\r\n                return RedirectToAction(nameof(Index));\r\n            }\r\n            return View(testTable33);\r\n        }\r\n\r\n        public async Task&lt;IActionResult&gt; Delete(int? id)\r\n        {\r\n            if (User.Identity.Name != \"\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\")\r\n            {\r\n                return RedirectToAction(\"Index\", \"TestTable33\");\r\n            }\r\n\r\n            if (id == null || _context.TestTable33s == null)\r\n            {\r\n                return NotFound();\r\n            }\r\n\r\n            var testTable33 = await _context.TestTable33s\r\n                .FirstOrDefaultAsync(m =&gt; m.Id == id);\r\n            if (testTable33 == null)\r\n            {\r\n                return NotFound();\r\n            }\r\n\r\n            return View(testTable33);\r\n        }\r\n\r\n        [HttpPost, ActionName(\"Delete\")]\r\n        [ValidateAntiForgeryToken]\r\n        public async Task&lt;IActionResult&gt; DeleteConfirmed(int id)\r\n        {\r\n            if (User.Identity.Name != \"\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\")\r\n            {\r\n                return RedirectToAction(\"Index\", \"TestTable33\");\r\n            }\r\n\r\n            if (_context.TestTable33s == null)\r\n            {\r\n                return Problem(\"Entity set 'TestDbContext.TestTable33s'  is null.\");\r\n            }\r\n\r\n            string imagePath = _environment.WebRootPath + \"\/Image\/\" + id.ToString() + \".png\";\r\n            if (System.IO.File.Exists(imagePath)) System.IO.File.Delete(imagePath);\r\n\r\n            var testTable33 = await _context.TestTable33s.FindAsync(id);\r\n            if (testTable33 != null)\r\n            {\r\n                _context.TestTable33s.Remove(testTable33);\r\n            }\r\n\r\n            await _context.SaveChangesAsync();\r\n            return RedirectToAction(nameof(Index));\r\n        }\r\n\r\n        private bool TestTable33Exists(int id)\r\n        {\r\n            return _context.TestTable33s.Any(e =&gt; e.Id == id);\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>AccountController.cs<\/p>\n<pre class=\"lang:c# decode:true \">using Microsoft.AspNetCore.Authentication;\r\nusing Microsoft.AspNetCore.Authentication.Cookies;\r\nusing Microsoft.AspNetCore.Authorization;\r\nusing Microsoft.AspNetCore.Mvc;\r\nusing System.Security.Claims;\r\n\r\nnamespace WebApplication1.Controllers\r\n{\r\n    public class AccountController : Controller\r\n    {\r\n        List&lt;ApplicationUser&gt; users = new List&lt;ApplicationUser&gt; {\r\n            new ApplicationUser{UserName = \"\u7ba1\u7406\u30e6\u30fc\u30b6\u30fc\", Password = \"abc\"},\r\n            new ApplicationUser{UserName = \"\u95b2\u89a7\u30e6\u30fc\u30b6\u30fc\", Password = \"abc\"}\r\n        };\r\n\r\n        [AllowAnonymous] \r\n        public IActionResult Login()\r\n        {\r\n            if (User.Identity.IsAuthenticated)\r\n            {\r\n                return RedirectToAction(\"Index\", \"TestTable33\");\r\n            }\r\n\r\n            return View();\r\n        }\r\n\r\n        [HttpPost]\r\n        [AutoValidateAntiforgeryToken]\r\n        [AllowAnonymous] \r\n        public async Task&lt;IActionResult&gt; Login(ApplicationUser user, string returnUrl = null)\r\n        {\r\n            if (User.Identity.IsAuthenticated)\r\n            {\r\n                return RedirectToAction(\"Index\", \"TestTable33\");\r\n            }\r\n\r\n            var lookupUser = users.Where(u =&gt; u.UserName == user.UserName).FirstOrDefault();\r\n\r\n            if (lookupUser?.Password != user.Password)\r\n            {\r\n                return View(user);\r\n            }\r\n\r\n            var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);\r\n            identity.AddClaim(new Claim(ClaimTypes.Name, lookupUser.UserName));\r\n\r\n            await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(identity));\r\n\r\n            return RedirectToAction(\"Index\", \"TestTable33\");\r\n        }\r\n\r\n        public async Task&lt;IActionResult&gt; Logout()\r\n        {\r\n            await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);\r\n\r\n            return RedirectToAction(\"Login\");\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WindowsForms\u3070\u304b\u308a\u3067ASP.NET\u3067\u52d5\u304f\u3082\u306e\u3092\u4f5c\u3063\u305f\u3053\u3068\u304c\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u52c9\u5f37\u3092\u517c\u306d\u3066\u6a5f\u5668\u7ba1\u7406\u30a2\u30d7\u30ea\u3092\u4f5c\u3063\u3066\u307f\u305f\u3002 Program.cs using Microsoft.AspNetCore.Authentic &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/appbay.org\/?p=5376\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;C#(ASP.NET Core) \u6a5f\u5668\u7ba1\u7406\u30a2\u30d7\u30ea&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[9],"class_list":["post-5376","post","type-post","status-publish","format-standard","hentry","category-1","tag-c-net"],"_links":{"self":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/5376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5376"}],"version-history":[{"count":3,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/5376\/revisions"}],"predecessor-version":[{"id":5380,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/5376\/revisions\/5380"}],"wp:attachment":[{"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}