[C#] ASP.NET Core 6.0 - 一些基本概念使用 BindProperty , HtmlHelper , 不透過 AJAX 純用 POST 做雙連動下拉選單
今天寫一個對很多人來說是很基礎的東西,不過因為之前我是從 ASP.NET Webform 寫的比較熟
中間的 ASP.NET MVC 時代,我比較沒有去觸碰 ,之前有測試過一些東西,但是因為很多原因所以還是主要不會去用此開發
現在到了 ASP.NET 6 的時代,有些基本功可能跟當初的 Webform 不太一樣今天筆記一下
也怕自己忘記
1. 可以使用 Microsoft.AspNetCore.Html 中的 IHtmlHelper ,可以讓前端 HTML Code 更加的程式化
轉換到前端後
2.善用 [BindProperty] ,這可以有效的讓你保留前端使用者所選取的狀態,當 Post 回 Server 時候你可以保留取得前端的值
在 PageModel 中只要宣告
這在 cshtml 中就可以
這樣就可以做出一個綁定資料的下拉選單,當然 Friends 的部分你可以改成資料庫吐出的資料
3.這篇的主角,製作雙層可連動的選單 ,當然我知道現在的人都會用 ajax 解決,我也不例外,不過因為是練手所以我就是模擬
以前 Webform 的 POSTBACK 的作法來做到連動的下拉選單
這邊就不多說提供程式碼,其實很簡單一看就懂我要幹嘛,這邊有一個小技巧,因為我還是得透過一點點 javascript 讓 第一個下拉選單
onchange 時候,轉換 form 的 action 這樣才能觸發 OnPostSelCity
HtmlTagsTest.cshtml:
HtmlTagsTest.cshtml.cs:
Result:
reference:
https://learn.microsoft.com/zh-tw/aspnet/core/mvc/models/model-binding?view=aspnetcore-6.0