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

如果每个循环的asp.net mvc为空,则显示自定义文本

如果每个循环的asp.net mvc为空,则显示自定义文本

在ASP.NET MVC中,如果每个循环中的Controller为空,则显示自定义文本。这个自定义文本可以通过在视图中使用ModelState.AddModelError方法来添加,并在Controller的OnActionExecuting方法中检查ModelState.IsValid来判断是否应该显示自定义文本。

以下是一个示例代码片段,演示如何在Controller中检查ModelState.IsValid,并在ModelState.IsValid为False时显示自定义错误消息:

代码语言:csharp
复制
public class MyController : Controller
{
    public ActionResult MyAction()
    {
        if (ModelState.IsValid)
        {
            // 执行实际的业务逻辑
            // ...
        }
        else
        {
            // 显示自定义错误消息
            ViewBag.ErrorMessage = "请输入有效的姓名和邮箱地址";
        }
        return View();
    }
}

在上面的代码中,我们使用ModelState.AddModelError方法在ModelState中添加一个错误消息,然后使用ModelState.IsValid来检查Controller中的输入是否有效。如果ModelState.IsValid为False,则显示自定义错误消息。

除了使用ModelState.AddModelError方法外,您还可以使用TempData来将错误消息传递回Controller。以下是一个示例代码片段,演示如何使用TempData来传递错误消息:

代码语言:csharp
复制
public class MyController : Controller
{
    public ActionResult MyAction()
    {
        if (ModelState.IsValid)
        {
            // 执行实际的业务逻辑
            // ...
        }
        else
        {
            // 显示自定义错误消息
            TempData[ViewDataKeys.ErrorMessage] = "请输入有效的姓名和邮箱地址";
        }
        return View();
    }
}

在上面的代码中,我们使用TempData来存储自定义错误消息,然后使用ViewDataKeys.ErrorMessage属性来访问该消息。如果ModelState.IsValid为False,则显示自定义错误消息。

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

相关·内容

ASP.NET MVC Model元数据及其定制:一个重要的接口IMetadataAware

在通过Visual Studio提供的ASP.NET MVC项目模板创建的空Web应用中,我们定义了如下一个数据类型Foo,其中属性Baz上应用了AllowHtmlAttribute特性。...在使用该特性的时候,我们需要显式制定表示显示名称的Name属性,如果需要进行本地化处理,需要将显示内容定义在某个资源文件中,并通过ResourceType属性指定该资源文件生成的类型。...如果DisplayName没有显式指定,则默认使用属性名称或者类型名称;如果ResourceType没有显式指定,则采用通过静态字段staticResourceType表示的默认资源类型,该类型通过静态方法...接下来我们来演示如何使用这个DisplayTextAttribute特性来替换DisplayAttribute特性进行显示名称的设置,为此我们在通过Visual Studio的ASP.NET MVC 项目模板创建的空...ASP.NET MVC Model元数据及其定制: 初识Model元数据 ASP.NET MVC Model元数据及其定制: Model元数据的定制 ASP.NET MVC Model元数据及其定制

98260
  • ASP.NET MVC的Model元数据与Model模板:模板的获取与执行策略

    如果模板对应着某个自定义的分部View,那么只需要执行该View即可;对于默认模板,则直接可以得到相应的HTML。...如果模板对应着某个自定义的分部View,那么只需要执行该View即可;对于默认模板,则直接可以得到相应的HTML。...在Model的声明类型为接口情况下,如果该接口继承自IEnuerable则采用Collection模板。 在Model的声明类型为接口情况下,使用Object模板。...如果这样的View存在,则直接执行该View并返回。如果不能找到自定义模板分部View,则根据该模板名称在默认的模板列表中查找,如果存在名称匹配的默认模板,则直接返回默认模板对应的HTML。...ASP.NET MVC的Model元数据与Model模板:预定义模板 ASP.NET MVC的Model元数据与Model模板:模板的获取与执行策略 ASP.NET MVC的Model元数据与Model

    1.7K60

    ASP.NET MVC框架(第四部分): 处理表单编辑和提交场景

    上面的视图在页面上方显示了分类名称,然后显示了分类内的所有产品的项目列表。 在项目列表的每个产品旁边,有个 "Edit" 链接。.../Products/New URL负责显示一个带有HTML文本框和下拉框控件的空白表单,让用户输入新产品的细节。...发送到客户端的HTML表单,是在由"New" action方法调用的"New.aspx"视图里实现的。这个视图的一个初始实现(每个输入都用了文本框)看上去象下面这样: ?...ASP.NET MVC HTML 辅助方法 我们可以用来生成下拉框的一个方法是在HTML里手工生成内含 if/else 语句的 for-循环。...这意味着,任何人都可以为这些对象生成他们自己的自定义辅助方法,共享这些方法,为你所用。 在ASP.NET MVC框架将来的预览版中,我们将提供几十个内置的HTML和AJAX辅助方法。

    5.1K70

    ASP.NET MVC是如何运行的: 建立在“伪”MVC框架上的Web应用

    通过上面对ASP.NET管道设计的介绍,我们知道ASP.NET的扩展点只要体现在HttpMoudle和HttpHandler这两个核心组建之上,实际上整个ASP.NET MVC框架就是通过自定义的HttpMoudle...为了上读者从整体上把握ASP.NET MVC的工作机制,接下来我按照其原理通过一些自定义组件来模拟ASP.NET MVC的运行原理,我们也可以将此视为一个“迷你版”的ASP.NET MVC。...我们通过Visual Studio创建一个空的ASP.NET Web应用(注意不是ASP.NET MVC应用),我们不会引用System.Web.Mvc.dll这个程序集,所以你在接下来的程序中看到的定义在该程序集中的同名类型都是我们自行定义的...正如我上面所说,ASP.NET MVC是通过一个自定义的HttpModule实现的,在这个“迷你版”ASP.NET MVC框架中我们也将其起名为UrlRoutingModule。...接下来我们就来逐步地分析这个自定义的ASP.NET MVC框架是如何建立起来的,而它也代表了真正的ASP.NET MVC框架的工作原理。

    1.3K60

    ASP.NET Core 5.0 MVC中的 Razor 页面 介绍

    如果编写为显式表达式,则呈现 Age33。 显式表达式可用于从 .cshtml 文件中的泛型方法呈现输出。 以下标记显示了如何更正之前出现的由 C# 泛型的括号引起的错误。...@("Hello World") 前面的代码呈现以下 HTML:  <span>Hello World</span> HTML 在浏览器中显示为纯文本:...下面的代码是一个自定义的 Razor 页类型: using Microsoft.AspNetCore.Mvc.Razor; public abstract class CustomRazorPage...该指令将 RazorPage 中的 T 指定为生成的类,视图便派生自该类。 如果未指定 @model 指令,则 Model 属性的类型为 dynamic。...有关详细信息,请参阅自定义路由和 ASP.NET Core 中的 Razor Pages 介绍。 指定 Razor 组件应直接处理请求。

    46210

    ASP.NET Core 中断请求了解一下(翻译)

    如果托管在IIS和IIS Express上时,ASP.NET Core Module(ANCM)并不会告诉ASP.NET Core在客户端断开连接时中止请求。...如果服务端能感知用户中断了请求,并终止运行耗时的任务就好了。 幸好,ASP.NET Core开发团队体贴的考虑了这一点,允许我们通过以下两种方式来获取客户端的请求是否被终止。...例如,假设正在构建一份报告来计算公司员工的所有佣金。你循环每个员工,然后遍历他们的每一笔销售。...能够在中途取消此报告生成的简单解决方案是检查for循环内的CancellationToken,如果用户取消请求则跳出循环。...以下示例通过循环10次并执行某些同步(不可取消)工作来表示此类情况,该工作由对Thread.Sleep()来模拟。在每个循环开始时,我们检查CancellationToken,如果取消则抛出异常。

    1.3K30

    ASP.NET MVC Controller激活系统详解:IoC的应用

    三、 创建基于IoC的自定义ControllerFactory ASP.NET MVC的Controller激活系统最终通过ControllerFactory来创建目标Controller对象,要将IoC...引入ASP.NET MVC并通过对应的IoC容器实现对目标Controller的激活,我们很自然地会想到自定义一个基于IoC的ControllerFactory。...我们通过Visual Studio的ASP.NET MVC项目模板创建一个空的Web应用,并添加针对Unity的两个程序集(Microsoft.Practices.Unity.dll和Microsoft.Practices.Unity.Configuration.dll...Model(在这里我们将ASP.NET MVC中的Model视为View Model),为了降低Controller和Model之间耦合度,我们为这个Model定义了接口。...至于用于显示指定员工ID详细信息的Detail操作,我们同样通过Repository属性根据指定的ID获取表示相应员工信息的Employee对象,如果该对象为Null,直接返回一个状态为404的HttpException

    1.8K90

    ASP.NET MVC的客户端验证:jQuery的验证

    ASP.MVC 2.0及其之前的版本采用ASP.NET Ajax进行客户端验证,在ASP.NET MVC 3.0中,jQuery验证框架被引入是我们可以采用Unobtrusive JavaScript的方式进行客户端验证...[本文已经同步到《How ASP.NET MVC Works?》...我们就以验证为例,一个Web页面中具有一个表单,我们需要 对针对表单中三个文本框(foo、bar和baz)的输入进行验证。...虽然演示jQuery验证使用一个单纯的HTML文件就可以了,但是在这里我们还是通过Visual Studio的ASP.NET MVC项目模板创建一个空的Web应用,这样做有两个目的:其一、项目在创建过程中会自动添加包含...ASP.NET MVC的客户端验证:jQuery的验证 ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现 ASP.NET MVC的客户端验证:自定义验证

    8.2K90

    ASP.Net MVC开发基础学习笔记:四、校验、AJAX与过滤器

    在DataAnnotations为我们所提供的众多内置验证特性中,用的最多的其中的四个是:   (0)[DisplayName]:显示名 – 定义表单字段的提示名称   (1)[Required] :必须...二、ASP.Net MVC下的两种AJAX方式 2.1 使用JQuery AJAX方式   首先,在ASP.Net MVC中使用此种方式跟普通的WebForm的开发方式是一致的,需要注意的是:Url地址不同...Action打的标签一致; 2.2 使用Microsoft AJAX方式   在ASP.Net MVC中除了可以使用JQuery AJAX外,Microsoft为我们提供了另一套实用且更简单的AJAX方案...三、为AOP而生 — ASP.Net MVC默认的过滤器 3.1 过滤器初步   大一点的项目总会有相关的AOP面向切面的组件,而MVC(特指:Asp.Net MVC,以下皆同)项目中Action在执行前或者执行后我们想做一些特殊的操作...比如:我们想要在每个Action执行之前进行用户是否登录的校验,可以在OnActionExecuting中判断用户Session是否存在,如果存在则继续执行Action的具体业务代码,如果不存在则重定向页面到登陆页

    2.1K20

    ASP.NET MVC 5 -从控制器访问数据模型

    单击添加(如果你得到一个错误,则很可能增加控制器前,没有生成该应用程序)。...(是IEnumerable对象),所以在循环中的每个item对象的类型是Movie类型。...如果您看不到Movies.mdf文件,请在解决方案资源管理器工具栏上,单击显示所有文件按钮,单击刷新按钮,然后展开App_Data文件夹。 ?...(如果你不关闭连接,下一次运行项目,你可能会得到一个错误)。 ? 现在,您可以在这个简单列表页面里:显示、编辑、更新、删除数据库里的数据了。...ASP.NET MVC 5 - 使用Wijmo MVC 5模板1分钟创建应用 希望这些文章对感兴趣的朋友有所帮助,另附上PDF版的汇总文档: 《ASP.NET MVC 5 入门指南》PDF版

    5.9K50

    ASP.NET MVC是如何运行的: URL路由

    在一个ASP.NET MVC应用来说,针对HTTP请求的处理和相应定义Controller类型的某个Action方法中,每个HTTP请求的目标对象不再像ASP .NET Web Form应用一样是一个物理文件...在我们自定义的ASP.NET MVC框架中,路由数据通过具有如下定义的RouteData类型表示。...我们之前已经提到过ASP.NET MVC本质上是两个自定义的ASP.NET组件来实现的,一个是自定义的HttpModule,另一个是自定义的HttpHandler,而后者从RouteData的RouteHandler...在我们自定义ASP.NET MVC框架中,路由表通过类型RouteTable表示。...如果得到的RouteData不为空,根据该对象本身和和之前得到的HttpContextWrapper对象创建一个表示当前请求上下文的RequestContext对象,将其作为参数传入RouteData的

    1.8K60

    ASP.NET MVC使用Bootstrap系列(2)——使用Bootstrap CSS和HTML元素

    的Status属性创建了一个条件映射,如果Product是discontinued,那么Status为danger;如果UnitPrice大于50,则设置Status属性为info;如果UnitInStock...水平表单 使用ASP.NET MVC的HTML.BeginForm可以方便的创建一个表单,通过为添加名为form-horizontal的class来创建一个Bootstrap 水平显示表单。...ASP.NET MVC创建包含Bootstrap样式编辑模板 基元类型 编辑模板(Editor Template)指的是在ASP.NET MVC应用程序中,基于对象属性的数据类型通过Razor视图渲染后...所以,为了让Editor helper生成class为form-control的表单元素,我们需要创建一个自定义的编辑模板来重写旧的模板。...非基元类型 ASP.NET MVC能让开发者创建根据自定义DataType的编辑模板,比如自动生成多行文本框并且规定行数为3行,也是同样的操作: 添加MultilineText.

    6.2K80

    将终结点图添加到你的ASP.NET Core应用程序中

    在我的下一批那文章中,我再创建一个自定义的writer来生成自定义的图如上篇文章所示。...在终结点路由系统中将图形公开为终结点具有如下优点和缺点: 您可以轻松地向终结点添加授权。您可能不希望任何人都能查看此数据! 图形终结点显示为系统中的终结点。这显然是正确的,但可能会很烦人。...在我看来有如下这些优点: 它不会将此数据公开为终结点 对您的应用没有影响 容易产生 不过,也许您想从应用程序中生成此图,但是您不想使用到目前为止显示的任何一种中间件方法将其包括在内。...这意味着在请求的上下文中(例如从MVC控制器或Razor Page生成)图很容易,并且与您到目前为止所看到的方法相同。 如果您要尝试在应用程序生命周期的早期生成图形,则必须小心。...如果您尝试从一个IHostedService中的DfaGraphWriter生成图表,该EndpointDataSource是空的。

    3.5K20

    七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理

    在Model Binder迭代完成之后,将类参数的每个属性名称与接收的数据做对比,如果匹配,则响应接收的数据,并分配给参数。...当匹配成功时,响应接收的数据会被分配给参数。 匹配不成功时,参数会设置为缺省值,例如,如果是字符串类型则被设置为null,如果是整型则设置为0. 由于数据类型未匹配异常的抛出,不会进行值分配。...当匹配成功时: 如果接收的值是空,则会将空值分配给属性,如果无法执行空值分配,会设置缺省值,ModelState.IsValid将设置为fasle。...如果空值分配成功,会考虑值是否合法,ModelState.IsValid将设置为fasle。 如果匹配不成功,参数会被设置为缺省值。在本实验中ModelState.IsValid不会受影响。 1....ValidationMessage根据关键字显示ModelState表示的错误信息。 如果我们需要可空的整数域,该怎么做? 1: public int?

    5.3K100

    七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC

    (六)——线程问题、异常处理、自定义URL 七天学会ASP.NET MVC(七)——创建单页应用 ASP.NET vs MVC vs WebForms 许多ASP.NET开发人员开始接触MVC认为MVC...Step 3:数据填充Model之后,传递到View 显示层,实现显示的目的。 到这里我们就已经了解了ASP.Net MVC的各个组件。下面我们做一些小的实验深入了解MVC的各组件。...在Asp.net MVC中是非常简单的。如果返回类型是”String“直接返回,不需要发送完整的HTML。 3. 如果从Action 方法中返回对象值会出现什么意外情况?...答案是肯定的,每个公有方法都会自动称为Action 方法。 6. 非public方法是什么? 类的方法都比较简单,并且并不是公共可用的。无法在Web中调用。 7....HTML有图像,文本,输入控件等。通常称为用户界面的设计即UI层,在ASP.net MVC称为View。

    3.2K60

    ASP.NET MVC使用Bootstrap系统(2)——使用Bootstrap CSS和HTML元素

    的Status属性创建了一个条件映射,如果Product是discontinued,那么Status为danger;如果UnitPrice大于50,则设置Status属性为info;如果UnitInStock...水平表单 使用ASP.NET MVC的HTML.BeginForm可以方便的创建一个表单,通过为添加名为form-horizontal的class来创建一个Bootstrap 水平显示表单...ASP.NET MVC创建包含Bootstrap样式编辑模板 基元类型 编辑模板(Editor Template)指的是在ASP.NET MVC应用程序中,基于对象属性的数据类型通过Razor视图渲染后...所以,为了让Editor helper生成class为form-control的表单元素,我们需要创建一个自定义的编辑模板来重写旧的模板。...如下所示: 非基元类型 ASP.NET MVC能让开发者创建根据自定义DataType的编辑模板,比如自动生成多行文本框并且规定行数为3行,也是同样的操作: 添加MultilineText.

    4K40
    领券