.net core mvc 錯誤信息顯示 ModelState.AddModelError


 

關於ModelState.AddModelError錯誤信息不在前端頁面顯示問題。經過一位高人指定終於知道了為什么,在次寫着警示自己看文檔一定要仔細。再次感謝這為兄弟

https://www.cnblogs.com/fonour/p/5943401.html

0 TagHelper的使用

TagHelper是Asp.Net Core中提供的全新的服務端代碼參與創建和渲染 HTML 元素的方法,TagHelpers 在 Razor視圖中減少或避免了 HTML 和 C# 之間的顯示轉換,它具有以下特點:

  • 一種友好的Html開發體驗

   Razor 標記使用 Tag Helpers 看起來更像標准的 HTML。熟悉 HTML/CSS/JavaScript 的前端設計師在沒有學習 C# Razor 語法的情況下能夠編輯 Razor 。

  • 提供豐富的智能感知環境來創建 HTML和Razor標記

   通過Microsoft.AspNetCore.Razor.Tools提供智能感知和智能提醒,大大提高編碼效率。

  • 提供服務器端更強大,更可靠和可維護代碼的html渲染方式

   TagHelper的使用一般放在“視圖導入頁”中,視圖導入頁中還會放置我們會用到的服務端引用。

0.0 創建視圖導入頁

在Fonour.MVC項目中,右鍵Views文件夾,添加新項,選擇MVC視圖導入頁,添加一個默認名稱為 “_ViewImports.cshtml”的視圖導入頁。

1

修改視圖導入頁的內容如下:

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers



  • @model LoginModel  指定頁面綁定的模型為LoginModel。
  • asp-controller 指定form標簽提交時對應的控制器名稱。
  • asp-action 指定form標簽提交時對應的Action名稱。
  • asp-for 指定HTML元素綁定的模型對應的屬性名稱。
  • asp-validation-for 綁定對應模型屬性名稱,模型驗證失敗時,顯示模型定義的ErrorMessage。
  • asp-validation-summary="All" 顯示所有驗證失敗的錯誤信息。

2.2 Controller

修改LoginController,增加用戶登錄對應的控制器方法。

復制代碼
[HttpPost]
public IActionResult Index(LoginModel model) { if (ModelState.IsValid) { //檢查用戶信息 var user = _userAppService.CheckUser(model.UserName, model.Password); if (user != null) { //記錄Session HttpContext.Session.Set("CurrentUser", ByteConvertHelper.Object2Bytes(user)); //跳轉到系統首頁 return RedirectToAction("Index", "Home"); } ModelState.AddModelError("", "用戶名或密碼錯誤。"); return View(); } return View(model); }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM