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

ASP.NET MVC 2 - Html.Editor对于可以为空的类型?

在 ASP.NET MVC 2 中,Html.Editor 用于创建自定义编辑器,通常用于处理 HTML 标记。对于可以为空的类型,可以使用 Html.Editor 方法将表单内容提交到服务器,并将返回的 HTML 标记插入到页面中。

以下是一个简单的示例代码:

代码语言:csharp
复制
using System.Web.Mvc;
using System.Web.UI;

public class MyController : Controller
{
    // ...

    public ActionResult MyForm()
    {
        return View();
    }

    [HttpPost]
    public ActionResult MyForm(FormCollection form)
    {
        string html = "<p>My form</p>";
        return View("MyForm", html);
    }
}

在上面的代码中,MyForm 方法处理表单提交,并使用 Html.Editor 方法创建自定义编辑器。Html.Editor 方法接受一个字符串参数,该参数指定要插入页面的 HTML 标记。在上面的示例代码中,Html.Editor 方法将一个简单的 HTML 段落标记插入到页面中。

Html.Editor 方法还可以使用 Html.EditorFor 方法来创建可以为空的类型。EditorFor 方法接受一个参数,该参数指定要显示的编辑器的名称,而不是直接插入 HTML 标记。以下是一个示例代码:

代码语言:csharp
复制
using System.Web.Mvc;

public class MyModel
{
    public string Name { get; set; }
}

public class MyController : Controller
{
    // ...

    public ActionResult MyForm()
    {
        return View();
    }

    [HttpPost]
    public ActionResult MyForm(MyModel model)
    {
        if (ModelState.IsValid)
        {
            // Save the model to the database
            return RedirectToAction("Index");
        }
        return View("MyForm", model);
    }
}

在上面的代码中,MyModel 包含一个 Name 属性,该属性可以设置为任何类型。在 MyForm 方法中,我们使用 EditorFor 方法创建一个可以为空的类型,并将其传递给视图。在视图 MyForm.cshtml 中,我们可以使用 @Html.EditorFor(x => x.Name) 来显示 Name 属性,如下所示:

代码语言:html
复制
@model MyModel

@using (Html.BeginForm())
{
    @Html.EditorFor(x => x.Name)
    <button type="submit">Submit</button>
}

在上面的代码中,我们使用 EditorFor 方法创建了一个可以为空的类型,并将其显示在表单中。如果表单是有效的,则我们将其保存到数据库中,并返回一个视图。如果表单无效,则我们返回 MyForm 视图,并将 Name 属性的值设置为空。

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

相关·内容

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

ASP.NET MVC创建包含Bootstrap样式编辑模板 基元类型 编辑模板(Editor Template)指的是在ASP.NET MVC应用程序中,基于对象属性数据类型通过Razor视图渲染后...ASP.NET MVC包含了若干编辑模板,当然我们也可以实现扩展。编辑模板类似于局部视图,不同是,局部视图通过name来渲染,而编辑模板通过类型来渲染。...举个栗子,@Html.EditorFor(model => model.Property),如果Property类型为string,那么@Html.Editor 会创建一个Type=TextInput...非基元类型 ASP.NET MVC能让开发者创建根据自定义DataType编辑模板,比如自动生成多行文本框并且规定行数为3行,也是同样操作: 添加MultilineText....最后探索了ASP.NET MVC编辑模板,能让产生input元素自动包含form-control样式。

6.1K80

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

ASP.NET MVC创建包含Bootstrap样式编辑模板 基元类型 编辑模板(Editor Template)指的是在ASP.NET MVC应用程序中,基于对象属性数据类型通过Razor视图渲染后...ASP.NET MVC包含了若干编辑模板,当然我们也可以实现扩展。编辑模板类似于局部视图,不同是,局部视图通过name来渲染,而编辑模板通过类型来渲染。...举个栗子,@Html.EditorFor(model => model.Property),如果Property类型为string,那么@Html.Editor 会创建一个Type=TextInput...如下所示: 非基元类型 ASP.NET MVC能让开发者创建根据自定义DataType编辑模板,比如自动生成多行文本框并且规定行数为3行,也是同样操作: 添加MultilineText....最后探索了ASP.NET MVC编辑模板,能让产生input元素自动包含form-control样式。

3.9K40
  • asp.net MVC 验证注解

    对于Web系统,对于用户输入验证是必须。不仅需要在客户端对用户输入进行验证,在服务端也需要对用户执行进行验证。 asp.net MVC对于验证提供了一种注解机制。...当属性中一个是null或时,Required特性将会引发一个验证错误。...[A-Za-z]{2,4}")] 4.Range Range特性能够指定数值类型最小值和最大值。该特性第一个参数设置最小值。第二个参数设置最大值。...Range既可以设置int类型,也可以设置成double类型。 [Range(5,15)] 5.System.Web.Mvc MVC中提供了两个验证特性,分别是Remote和Compare特性。...[Compare("Password")] public String ConfirmPassword{get;set;} ErrorMessage 可以为注解添加自定义错误消息提示。

    1.9K90

    Asp.net mvc 知多少(五)

    本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版访问http://www.dotnettricks.com...该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大特点是以面试问答形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次理解。...系列导航 Asp.net mvc 知多少(一) Asp.net mvc 知多少(二) Asp.net mvc 知多少(三) Asp.net mvc 知多少(四) Asp.net mvc 知多少(五) 本节主要讲解几种页面传值方式和...详情参考:TempData知多少, Session ASP.NET MVC中Session是Controller中一个属性,Session是HttpSessionStateBase类型。...Asp.net MVC 中集成了以下几种ActionResults类型及对应帮助类方法: ViewResult - 使用Controller中提供View()方法返回一个ViewResult用来呈现指定或默认

    3K60

    ASP.NET MVC Controller激活系统详解:总体设计

    对于Default选项来说,ASP.NET通过映射HttpHandler类型是否实现了相关接口来决定具体会话状态控制行为。...我们使用Visual Studio提供项目模板创建一个ASP.NET MVC应用,并且使用如下所示默认路由注册代码。...[关于ASP.NET MVC路由,在我文章《ASP.NET MVC路由扩展:路由映射》中具有详细介绍] 在解析Controller真实类型过程中,会先通过RouteData包含命名空间来解析Controller...在一个通过Visual StudioASP.NET MVC项目创建Web应用中,我们添加一个名称为AdminArea,此时IDE会默认为我们添加如下一个AdminAreaRegistration...对于ASP.NET MVC应用来说,RouteDataRouteHandler属性类型为MvcRouteHandler,体现在MvcRouteHandler类型上关于HttpHandler提供机制基本上

    1.7K60

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

    然后调用它泛型Resolve方法创建一个实现了泛型接口IA对象。最后将返回对象转变成类型A,并检验其B、C和D属性是否是。...No 二、Controller与Model分离 在《MVC、MVP以及Model2[下篇]》中我们谈到ASP.NET MVC是基于MVC变体Model2设计。...对于一个ASP.NET MVC应用来说,用户交互请求直接发送给Controller。...对于IoCControllerFactory创建,我们可以直接实现IControllerFactory接口创建一个全新ControllerFactory类型,这需要实现包括Controller类型解析...我们通过Visual StudioASP.NET MVC项目模板创建一个Web应用,并添加针对Unity两个程序集(Microsoft.Practices.Unity.dll和Microsoft.Practices.Unity.Configuration.dll

    1.8K90

    MVC 到使用 ASP.NET Core 6.0 Minimal API

    ASP.NET Core MVC 应用程序中,控制器负责接受输入、执行或编排操作并返回响应。它是一个功能齐全框架,通过过滤器、内置模型绑定和验证、约定和基于声明行为等提供扩展管道。...对于许多人来说,它是构建现代 HTTP 应用程序多合一解决方案。 在某些情况下,您可能只需要 MVC 框架特定功能或具有使 MVC 不受欢迎性能限制。...; 所述pattern指定路线不同区段,并且允许指定默认值。参数可以利用 ASP.NET 路由约束语法[3]来限制接受值。 对于 API,建议使用基于属性路由[4]。...page=2&pagesize=20将满足上述操作参数请求。 上面的示例还通过将可选参数标记为可为并可选地提供默认值来演示可选参数使用。 这对于复杂类型工作方式略有不同。...即使将类型设为,如果未发送正文,您将收到 HTTP 415(无效媒体类型)或 400(错误请求)响应,具体取决于是否Content-Type设置了标头。

    7.6K10

    ASP.NET MVC以ModelValidator为核心Model验证体系: ModelValidator

    [本文已经同步到《How ASP.NET MVC Works?》...一般来说,当它们用于验证某个复杂类型对象时候,针对于类型本身验证返回ModelValidationResult对象MemberName属性为空字符串;而对于针对属性验证来说,属性名称直接作为MemberName...ValidationResult Success; 5: } 二、DataAnnotationsModelValidator 稍微了解ASP.NET MVC读者应该知道,我们可以通过数据类型某个属性上应用相应验证标注特性...(比如RequiredAttribute、RangeAttribute和RegularExpressionAttribute等)方式来定义相应验证规则,这是ASP.NET MVC 提供默认Model...this[string columnName] { get; } 5: } ASP.NET MVCModel验证系统为实现了IDataErrorInfo接口数据对象验证定义专门

    1.5K10

    Asp.net mvc 知多少(六)

    本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版访问http://www.dotnettricks.com...该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大特点是以面试问答形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次理解。...系列导航 Asp.net mvc 知多少(一) Asp.net mvc 知多少(二) Asp.net mvc 知多少(三) Asp.net mvc 知多少(四) Asp.net mvc 知多少(五) Asp.net...该插件是从ASP.NET MVC3引入,通过使用组合jquery验证和HTML5数据属性在客户端应用数据模型验证。 Q67....对于这种情形,你需要强制浏览器去刷新/加载。 但是捆绑会自动处理这种问题,通过为每一个捆绑添加一个hash code作为url查询参数。

    2.4K50

    ASP.NET MVC 4 - 测试驱动 ASP.NET MVC

    在本文中,我将论述用于增强您 ASP.NET MVC 应用程序测试性最佳做法和技术,包括如何建立您解决方案结构、设计代码架构以便处理依赖关系注入以及使用 StructureMap 实现依赖关系注入...首先,我建议在创建 ASP.NET MVC 项目时使用项目模板。其他模板很适合于试验或创建概念证明,但它们通常会包含许多会让人分神且在真正企业应用程序中不必要干扰内容。...对于 ASP.NET MVC 应用程序开发,我建议使用在图 1 和图 2 中阐释方法,其中包含以下项目: Web 项目包含所有特定于 UI 代码,包括视图、视图模型、脚本和 CSS 等。...在命名项目时添加测试类型是很有必要避免命名冲突以及确定您在编辑器内处理测试类型。图 4 显示具有测试项目的解决方案资源管理器。 ?...他从事软件开发工作已经 10 多年了,并专门从事大规模 ASP.NETASP.NET MVC 网站开发。

    5.4K70

    ASP.NET MVC四种验证编程方式

    在《ASP.NET MVC四种验证编程方式》一文中我们介绍了ASP.NET MVC支持四种服务端验证编程方式(“手工验证”、“标注ValidationAttribute特性”、“让数据类型实现IValidatableObject...一、ModelValidator与ModelValidatorProvider 虽然Model绑定方式因被验证数据类型差异而有所不同,但是ASP.NET MVC总是使用一个名为ModelValidator...ASP.NET MVC 通过静态类型ModelValidatorProviders对使用ModelValidatorProvider进行注册。...二、DataAnnotationsModelValidator 我们在《ASP.NET MVC四种验证编程方式》中介绍了三种不同“自动化验证”编程方式,ASP.NET MVC在内部会采用不同ModelValidator...对于上面提到这三种验证编程方式,第一种(利用应用在数据类型或其数据成员上ValidationAttribute特性来定义相应验证规则)是最为常用

    98280

    ASP.NET MVC三个重要描述对象:ControllerDescriptor和ActionDescriptor创建

    ASP.NET MVC对Conroller采用ActionInvoker类型选择机制是这样: 通过当前DependencyResolver以IAsyncActionInvoker接口去获取注册...在默认情况下,当前DependencyResolver直接通过对指定类型进行反射来提供对应实例对象,所以对于前面两个步骤返回对象均为Null,所以默认创建出来ActionInvoker类型为...在通过Visual StudioASP.NET MVC项目模板创建Web应用中,我们创建了如下一个默认HomeController,在Action方法Index中直接通过ContentResult...我们通过Visual StudioASP.NET MVC项目模板创建一个Web应用,并创建一个默认HomeController,然后对其进行如下修改。...ASP.NET MVC三个重要描述对象:ControllerDescriptor ASP.NET MVC三个重要描述对象:ActionDescriptor ASP.NET MVC三个重要描述对象

    63480

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

    为了上读者从整体上把握ASP.NET MVC工作机制,接下来我按照其原理通过一些自定义组件来模拟ASP.NET MVC运行原理,我们也可以将此视为一个“迷你版”ASP.NET MVC。...值得一提是,为了让读者根据该实例从真正ASP.NET MVC中找到对应组件,我完全采用了与ASP.NET MVC一致类型命名方式。...我们通过Visual Studio创建一个ASP.NET Web应用(注意不是ASP.NET MVC应用),我们不会引用System.Web.Mvc.dll这个程序集,所以你在接下来程序中看到定义在该程序集中同名类型都是我们自行定义...MVC根据请求地址来解析出用于处理该请求Controller类型和Action方法名称。...ASP.NET MVC是如何运行[1]: 建立在“伪”MVC框架上Web应用 ASP.NET MVC是如何运行[2]: URL路由 ASP.NET MVC是如何运行[3]: Controller

    1.3K60

    ASP.NET MVC 1.0发布

    在官方下载页面上对ASP.NET MVC这样描述道: ASP.NET MVC在现有的ASP.NET 3.5运行时基础上提供了一个新MVC框架。...微软产品在坊间流传一种说法是“微软产品一般要到3.0版本才比较稳定,成熟,可以放心使用”,但是这次发布ASP.NET MVC 1.0可以打破这种宿命了,ASP.NET MVC 经过2年多开发,有一堆微软专家和社区精英共同研发出来...学习ASP.NET MVC 过程中,有很多开发观念、开发技巧需要学习,而且学习 ASP.NET MVC 几乎等于放弃服务端控件使用 (因为没有ViewState可用),有些服务端控件还是可以用,例如...而且 ASP.NET MVC 跟传统 ASP.NET webform可以并存在同一个网站中,彼此也不会打架,所以大型网站可以逐步转换为 ASP.NET MVC,具体参看CMS项目Cuyahoga:...要让一个懂 ASP.NET 的人主动学习 ASP.NET MVC还真的不是一件容易事,毕竟这两者之间还是有一些鸿沟,而且还要放弃掉一些曾经拥有(可能还是引以为豪)知识,例如:服务端控件(Server

    1.3K100

    asp.net MVC 应用程序生命周期

    因为在平常开发过程中,我们可能知道怎样去使用MVC框架来处理相关请求,大部分时候我们只是在controller和action方法之间做相关处理,对于真正内在运行机制可能不是很了解。...MVC框架出现之前,我们大部分开发所使用框架都是ASP.NET WebForm.其实不管是MVC还是WebForm,在请求处理机制上,大部分是相同。...HttpModule  ASP.NET拥有一个高度扩展引擎,并且能够处理对于不同资源类型请求。这就是HttpModule。...HttpHandler                                                            对于不同资源类型请求,ASP.NET会加载不同HttpHandler...(2)通过在全局Web.Config中注册 System.Web.Routing.UrlRoutingModule,IIS请求处理管道接到请求后,就会加载 UrlRoutingModule类型Init

    1.9K90

    Asp.net web api 知多少

    该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大特点是以面试问答形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次理解。...任何会话类型数据应该在客户端保存和处理,只有在每次请求中按需传递到服务器。 Cacheable(缓存) - 客户端应该能够缓存响应以供后续使用。 Q3. REST和 SOAP间区别是什么?...但是它并不是MVC框架一部分。它是 ASP.NET 平台核心部分。能被MVC或者其他类型web应用使用。同时它也可以用作独立web服务应用程序。...与ASP.NET MVC不同,WEB API仅能返回数据,返回数据格式可以为string,json,xml,text等。 Q10....不像ASP.NET MVC,Web API仅能接收一个复杂类型作为参数。 Q14. ASP.NET WEB API2中如何启用特性路由? Ans.

    4.8K50
    领券