关于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”的视图导入页。

修改视图导入页的内容如下:

@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);
}

.net core mvc 错误信息显示 ModelState.AddModelError的更多相关文章

  1. .net core mvc发布项目到IIS上出现500错误

    如题,我把.net core mvc项目以应用程序方式挂到IIS默认网站下,结果出现了如下错误:HTTP Error 500.0 - ANCM In-Process Handler Load Fail ...

  2. .net core mvc项目部署nginx报错一直显示404错误

    遇到一个奇怪的问题,.net core mvc 项目部署到nginx上面,系统是linux,controller明明抛出500错误,但页面一直显示是404. 解决如下: 1.修改Startup.cs, ...

  3. MVC ModelState.AddModelError使用

    cshtml:红色部分为使用方法  PostNextDay是 字段 <div id="postNextDay" class="col-xs-12 col-sm-6 ...

  4. .Net Core MVC 网站开发(Ninesky) 2.4、添加栏目与异步方法

    在2.3中完成依赖注入后,这次主要实现栏目的添加功能.按照前面思路栏目有三种类型,常规栏目即可以添加子栏目也可以选择是否添加内容,内容又可以分文章或其他类型,所以还要添加一个模块功能.这次主要实现栏目 ...

  5. 基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-3

    来个目录吧: 第一章 第二章 第三章 暂时就这么多.后面路线更新吧 创建.查询.更新.删除 这章主要讲解使用EF完成 增删改查的功能. 自定义"详情信息"页面 我们通过基架生成的代 ...

  6. asp.net core MVC 控制器,接收参数,数据绑定

    1.参数 HttpRequest HttpRequest 是用户请求对象 QueryString Form Cookie Session Header 实例: public IActionResult ...

  7. ASP.NET Core MVC 模型绑定 (转载)

    ASP.NET Core MVC的Model Binding会将HTTP Request数据,以映射的方式对应到参数中.基本上跟ASP.NET MVC差不多,但能Binding的来源更多了一些.本篇将 ...

  8. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(三)密码修改以及密码重置

     前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/as ...

  9. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(二)数据库初始化、基本登录页面以及授权逻辑的建立

    前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...

随机推荐

  1. 谈谈html中一些比较"偏门"的知识(map&area;iframe;label)

    说明:这里所说的"偏门"只是相对于本人而言,记录在此,加深印象.也希望有需要的朋友能获得些许收获! 1.空元素(void):没有内容的元素. 常见的有:<br>,< ...

  2. pyspider 示例

    数据存放目录: C:\Users\Administrator\data 升级版(可加载文章内所有多层嵌套的图片标签) #!/usr/bin/env python # -*- encoding: utf ...

  3. yum 原理C/S原理结构图

    yum 原理C/S原理结构图

  4. 【swiper轮播插件】解决swiper轮播插件触控屏问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 微信小程序制作家庭记账本之一

    制作的第一天,思索着制作手机端APP还是微信小程序,首先是想到制作APP但是各种收费让我不得不换一条路,所以开始制作小程序,下载了微信小程序开发工具,试着学习制作方法,但是似乎没有成效,但我坚信要一步 ...

  6. 20165316 实验四 Android程序设计

    20165316 孙勖哲 第四次实验 Android 程序设计1 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID, 安装 Andr ...

  7. php获得可靠的精准的当前时间 ( 通过授时服务器 )

    有一种情形是这样子的,比如机票业务中的订票流程,我们需要一个非常可靠的当前时间来支持,尽管大多数服务器的时间是非常准确的,我们使用time()来获取的时间是可靠的,但未免会有不确切的情况,也有的服务器 ...

  8. 专题8:javascript函数详解

    函数是一段可以反复调用的代码块.函数还能接受输入的参数,不同的参数会返回不同的值. 函数的声明 JavaScript 有三种声明函数的方法. (1)function 命令 function命令声明的代 ...

  9. UVA 11488 Hyper Prefix Sets (字典树)

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  10. kali linux 压缩文件解压缩命令(包含7z)

    tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1 ...