首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当asp.net MVC验证出错时,如何保留值?

当ASP.NET MVC验证出错时,如果要保留用户输入的值,可以使用以下方法:

  1. 使用ModelState.AddModelError方法:在Controller中,使用ModelState.AddModelError方法添加验证错误,并将用户输入的值存储在ModelState字典中。
代码语言:csharp
复制
if (!ModelState.IsValid)
{
    ModelState.AddModelError("ErrorMessage", "验证失败");
    ModelState.SetModelValue("InputValue", new ValueProviderResult(model.InputValue, model.InputValue, CultureInfo.InvariantCulture));
    return View(model);
}
  1. 使用TempData保存临时数据:在Controller中,使用TempData保存用户输入的值,并将其传递到View中。
代码语言:csharp
复制
if (!ModelState.IsValid)
{
    ModelState.AddModelError("ErrorMessage", "验证失败");
    TempData["InputValue"] = model.InputValue;
    return View(model);
}

在View中,可以使用以下代码获取TempData中的值,并将其显示在表单中:

代码语言:html<input type="text" name="InputValue" value="@TempData["InputValue"]" />
复制
  1. 使用ViewBag或ViewData传递数据:在Controller中,使用ViewBag或ViewData传递用户输入的值,并将其传递到View中。
代码语言:csharp
复制
if (!ModelState.IsValid)
{
    ModelState.AddModelError("ErrorMessage", "验证失败");
    ViewBag.InputValue = model.InputValue;
    return View(model);
}

在View中,可以使用以下代码获取ViewBag中的值,并将其显示在表单中:

代码语言:html<input type="text" name="InputValue" value="@ViewBag.InputValue" />
复制

总之,在ASP.NET MVC中,有多种方法可以在验证出错时保留用户输入的值。选择哪种方法取决于具体的应用场景和需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证

ASP.NET MVC通过Model验证帮助我们很容易的实现对数据的验证,在默认的情况下,基于ValidationAttribute的声明是验证被使用,我们只需要将相应的ValidationAttribute...对于自定义验证,我们也只需要定义相应的Validation就可以了,不过服务端验证比较简单,而客户端验证就要稍微复杂一些,本文提供一个简单的实例说明在ASP.NET MVC中实现自定义验证的基本步骤。...由于ASP.NET MVC采用JQuery Validation进行客户端验证,我们可以通过如下的这段javascript来注册用于实现客户端验证的function和添加相应的adapter。...验证逻辑必须的三个数值(当前日期、年龄范围最小和最大)通过参数params获得。...而该参数实际上是在添加adapter从通过上面定义的GetClientValidationRules方法生成的验证规则中获取的。

3.9K50

ASP.NET Core MVC如何使用Session实现身份验证

用户在应用程序的页面切换,Session对象的变量不会被清除。 ASP.NET页面是"无状态"的,这意味着每次向服务器发送一个请求,服务器都会生成一个该页面的实例。...二、 Session是如何工作的以及工作机制和工作流程 服务端的Session机制是基于客户端的,也就是说服务端的Session会保存每个客户端的信息到服务端内存中。...三、ASP.NET Core MVC使用Session方式来实现用户身份验证 这篇文章主要为大家详细介绍了ASP.NET Core MVC使用Session验证用户登录的相关资料,具有一定的参考价值,...基于Session的身份验证实现 这种方式可能是在Asp.Net框架提供的几种验证方式之外的最常用的身份验证方式。...实现核心原理和具体实现步骤: 1)、客户端发送身份认证数据到服务器端服务器收到并验证后将用户信息保存到Session对象中, 2)、然后生成对应的标识并将标识写入cookie中客户端下次请求带上该

3.7K30
  • 七天学会ASP.NET MVC (四)——用户授权认证问题

    小编应各位的要求,快马加鞭,马不停蹄的终于:七天学会 Asp.Net MVC 第四篇出炉,在第四天的学习中,我们主要了学习如何MVC如何实现认证授权等问题,本节主要讲了验证错误时的错误,客户端验证...目录 实验15 ——有关错误验证保留。...实验15中将学习如何验证失败,填充值。 1. 创建 CreateEmployeeViewModel 类。...在本系列的第一讲中,我们了解了Asp.NetMVC的意义,知道MVCAsp.net的一部分,MVC继承了ASP.NET的所有特征,包含表单认证。 先来了解ASP.NET如何进行Form认证的。...临时Cookie会在浏览器关闭自动删除,永久Cookie不会被删除。可通过浏览器设置或是编写代码手动删除。 凭证错误时,UserName 文本框的如何被重置的?

    8.7K50

    Asp.Net MVC4入门指南(8):给数据模型添加校验器

    在本节中将会给Movie模型添加验证逻辑。并且确保这些验证规则在用户创建或编辑电影被执行。...ASP.NET MVC鼓励您指定功能或者行为,只做一次,然后将它应用到应用程序的各个地方。这可以减少您需要编写的代码量,并减少代码出错率,易于代码维护。...给ASP.NET MVC 和 Entity Framework Code First 提供验证支持是 DRY 信条的一次伟大实践。...例如,下面的代码在调用SaveChanges方法,将引发异常,因为缺失几个必需的Movie属性,并且价格为零 (这在有效范围之外)。...它用来为以上两个操作方法来显示初始的form,同时在验证出错来重新显示视图。 请注意,代码如何使用Html.EditorFor helper 输出为Movie中的每个属性的元素。

    4.6K100

    《ASP.ENT Core 与 RESTful API 开发实战》(第3章)-- 读书笔记(中)

    ASP.NET Core MVC 框架中,除了 Controller、Model 和 Action 外,它还包括路由、模型绑定、模型验证和过滤器等功能 路由的主要功能是根据预先配置的路由信息对客户端传来的请求进行路由映射...}"); }); 以下约定为 controller 和 action 设置了默认,参数 id 后面有一个问号,说明这个参数可选的,在 URL 中有无此项都可以,注意,一个 URL 模板中只能有一个可选参数...Controller 需要依赖其他服务,通常的做法是使用构造函数注入所需要的服务,程序运行时,ASP.NET Core 会在创建 Controller 自动从其依赖注入的容器中获取所有依赖的服务,...Core MVC 提供两种创建自定义验证的方法: 创建新特性,并使它继承自 ValidationAttribute 类 使待验证的 Model 实现 IValidatableObject 接口 过滤器...Action,如果要仅为一个或少数几个 Action 添加过滤器,就得使用特性,ASP.NET Core 为每一种类型的过滤器都定义了相应的特性 如果以特性的方式使用包含依赖项的过滤器,就会出错,因为在自定义特性的构造函数中定义的接口类型的参数并不是有效的特性参数

    1.2K10

    ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    自定义控制不灵活,不利于美工和开发人员的配合,往往那些服务器控件处理稍有不慎就会导致出错;       3....(3)控制器的Action方法执行完成后,返回ViewResult,然后MVC框架在执行ExcuteResult方法,Controller中的ViewData数据会传递给ViewPage类,其实就是把...(4)ViewBag传递数据:我们对ViewBag的动态属性进行赋值,实际上是存到了ViewData中,动态属性的名存成了ViewDataDictionary的键,动态属性的存成了ViewDataDictionary...的。...中查询数据需要转换合适的类型 在ViewPage中查询数据不需要类型转换 有一些类型转换代码 可读性更好   (6)如何在程序中使用ViewData与ViewBag   ①在Controller中的代码

    2K30

    ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    自定义控制不灵活,不利于美工和开发人员的配合,往往那些服务器控件处理稍有不慎就会导致出错;       3....四、第一个ASP.Net MVC程序 4.1 新建项目后的文件组织结构   (1)新建一个ASP.Net MVC 4项目,选择“基本”配置与“ASPX”视图引擎(暂时不用Razor引擎)。   ...(4) ViewBag传递数据:我们对ViewBag的动态属性进行赋值, 实际上是存到了ViewData中,动态属性的名存成了ViewDataDictionary的键,动态属性的存成了ViewDataDictionary...的。...中查询数据需要转换合适的类型 在ViewPage中查询数据不需要类型转换 有一些类型转换代码 可读性更好   (6)如何在程序中使用ViewData与ViewBag   ①在Controller中的代码

    89620

    Asp.net mvc 知多少(六)

    系列导航 Asp.net mvc 知多少(一) Asp.net mvc 知多少(二) Asp.net mvc 知多少(三) Asp.net mvc 知多少(四) Asp.net mvc 知多少(五) Asp.net...- 限制属性为必录 ReqularExpression - 用正则表达式验证属性的是否满足要求 Range - 限制属性的在某一区间 StringLength - 指定string类型属性的最小和最大长度...Asp.Net MVC如何进行服务端验证? Ans. 在与用户敏感信息交互之前服务端验证至关重要。不管客户端是否验证,我们在服务端都必须进行验证。...如何判断Model State中是否有错误? Ans. 服务端验证有错误时,错误信息将保存在。因此通过使用 ModelState.IsValid 属性即可验证model state。...在ASP.NET MVC如何关闭和启用客户端验证 ? Ans.

    2.4K50

    ASP.NET Core MVC 概述

    功能 ASP.NET Core MVC 包括以下功能: 路由 模型绑定 模型验证 依赖关系注入 筛选器 区域 Web API 可测试性 Razor 视图引擎 强类型视图 标记帮助程序 视图组件 路由 ASP.NET...它可让你定义适用于搜索引擎优化 (SEO) 和链接生成的应用程序 URL 命名模式,而不考虑如何组织 Web 服务器上的文件。可以使用支持路由约束、默认和可选的方便路由模板语法来定义路由。...ASP.NET Core MVC 通过使用数据注释验证属性修饰模型对象来支持验证。...验证属性在发布到服务器前在客户端上进行检查,并在调用控制器操作前在服务器上进行检查。...详细了解如何测试控制器逻辑。 Razor 视图引擎 ASP.NET Core MVC 视图使用 Razor 视图引擎呈现视图。

    6.4K20

    ASP.NET MVC+LayUI视频上传

    前言: 前段时间在使用APS.NET MVC+LayUI做视频上传功能的,发现当上传一些内存比较大的视频就会提示上传失败,后来通过查阅相关资料发现.NET MVC框架为考虑安全问题,在运行时对请求的文件的长度...(大小)做了限制默认为4MB(4096KB),因此我们需要在Web.Config中设置最大请求文件长度大小,本篇博客主要讲解如何设置Web.Config中的最大请求文件大小配置和提供一个完整的ASP.NET...ASP.NET 为要求附加线程来完成其处理的请求而使指定数目的线程保持自由状态。默认为 8。...appRequestQueueLimit:表示ASP.NET 将为应用程序排队的请求的最大数目。没有足够的自由线程来处理请求,将对请求进行排队。...队列超出了该设置中指定的限制,将通过“503 - 服务器太忙”错误信息拒绝传入的请求。 enableVersionHeader:表示指定 ASP.NET 是否应输出版本标头。

    2.8K20

    Asp.Net MVC4入门指南(2):添加一个控制器

    基于MVC模式的应用程序包含: · Models: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据类。 · Views: 应用程序动态生成 HTML所使用的模板文件。...保留默认的模板为“Empty MVC controller”,并单击“ 添加“。 ? 请注意,在解决方案资源管理器中会创建一个名为HelloWorldController.cs的新文件。...需要注意的是,示例代码使用了C#语言的可选参数功能,numTimes参数在不传,默认为1。...你可以对参数name 和numtimes 尝试不同的ASP.NET MVC model binding system 会自动将地址栏中URL里的 query string映射到您方法中的参数。...让我们来看看下面我们如何能做到这一点吧。 控制器是MVC中的重要组成部分,有了本节知识的学习,相信大家会更加深入地理解MVC。那么在MVC开发过程中,除了以上知识之外,还可以借助哪些工具呢?

    1K70

    .NET 云原生架构师训练营(模块二 基础巩固 MVC终结点)--学习笔记

    2.3.4 Web API -- MVC终结点 MVC与MVVM 模型绑定 自定义模型绑定器 模型验证 返回数据处理 MVC与MVVM MVC ASP.NET Core MVC 概述:https://docs.microsoft.com...例如,路由数据可以提供一个记录键,而发布的表单域可以为模型的属性提供一个。编写代码以检索这些,并将其从字符串转换为 .NET 类型不仅繁琐,而且还容易出错。 模型绑定会自动化该过程。...什么是模型验证 模型验证的特性与消息 FluentValidation 什么是模型验证 ASP.NET Core MVC 和页面中的模型验证 Razor:https://docs.microsoft.com...[Range]:验证属性是否在指定的范围内。 [RegularExpression]:验证属性是否与指定的正则表达式匹配。 [Required]:验证字段是否不为 null。...[StringLength]:验证字符串属性是否不超过指定长度限制。 [Url]:验证属性是否具有 URL 格式。 [Remote]:通过在服务器上调用操作方法来验证客户端上的输入。

    2.5K10

    .NET 云原生架构师训练营(模块二 基础巩固 MVC终结点)--学习笔记

    2.3.4 Web API -- MVC终结点 MVC与MVVM 模型绑定 自定义模型绑定器 模型验证 返回数据处理 MVC与MVVM MVC ASP.NET Core MVC 概述:https://docs.microsoft.com...例如,路由数据可以提供一个记录键,而发布的表单域可以为模型的属性提供一个。 编写代码以检索这些,并将其从字符串转换为 .NET 类型不仅繁琐,而且还容易出错。 模型绑定会自动化该过程。...什么是模型验证 模型验证的特性与消息 FluentValidation 什么是模型验证 ASP.NET Core MVC 和页面中的模型验证 Razor:https://docs.microsoft.com...[Range]:验证属性是否在指定的范围内。 [RegularExpression]:验证属性是否与指定的正则表达式匹配。 [Required]:验证字段是否不为 null。...[StringLength]:验证字符串属性是否不超过指定长度限制。 [Url]:验证属性是否具有 URL 格式。 [Remote]:通过在服务器上调用操作方法来验证客户端上的输入。

    2.6K11
    领券