首页
学习
活动
专区
工具
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 StudioASP.NET MVC 项目模板创建...ASP.NET MVC Model元数据及其定制: 初识Model元数据 ASP.NET MVC Model元数据及其定制: Model元数据定制 ASP.NET MVC Model元数据及其定制

97160
  • ASP.NET MVCModel元数据与Model模板:模板获取与执行策略

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

    38910

    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是如何运行: 建立在“伪”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 MVC Controller激活系统详解:IoC应用

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

    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 StudioASP.NET MVC项目模板创建一个Web应用,这样做有两个目的:其一、项目在创建过程中会自动添加包含...ASP.NET MVC客户端验证:jQuery验证 ASP.NET MVC客户端验证:jQuery验证在Model验证中实现 ASP.NET MVC客户端验证:自定义验证

    8.2K90

    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开发基础学习笔记:四、校验、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是如何运行: URL路由

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

    1.8K60

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

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

    6.1K80

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

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

    3.5K20

    七天学会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.1K60

    七天学会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使用Bootstrap系统(2)——使用Bootstrap CSS和HTML元素

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

    3.9K40
    领券