• ModelState.IsValid    检验模型有效性
  • 显示模型绑定(操作方法中没有参数):

UpdateModel(album):模型绑定期间出错会抛出异常

  TryUpdateModel(album) 不抛出错误,会返回true和false值

HTML辅助方法

  • 表单默认方法是“get”提交方法
@using(html.BeginForm()){
  @htm.ValidationSummary(excludePropertyErrors:truem)//只显示与模型有关的值的错误信息 }
  • 在控制器中渲染视图
ModelState.AddModelError(“Title”,“项目名称不能出现数字”);
  • 在视图中可以这样显示某个输入值校验错误信息
@Html.ValidationMessage("Title");
@Html.ValidationMessageFor(x=>x.Title)
  • 带有连字符的C#属性名是无效的,所有的HTML辅助方法在渲染HTML时,会将属性名的下划线转换为连字符,class是C#关键字,所以class属性面前要加@。@class

强类型辅助方法(辅助后面都加了for)

  • @Html.Hidden("fenshu","18")  强类型版本: @Html.HiddenFor(m=>m.fenshu)
  • Html.Partial和Html.RenderPartial

  一般情况下使用用Html.Partial,因为更方便,不需要花括号,但Html.RenderPartial拥有较好的性能,它是直接写入响应流的,但这种性能需要大量的使用才能看出来

  • Html.Action("Menu");@Html.Action("视图","控制器"),传参版本:@Html.Action("视图","控制器",new { param1 = "abc", param2 = "def" })

  可能有这样的一个控制器,使用辅助方法可以直接放回一个带有菜单的局部视图:

public ActionResult Menu(){
var men=GetMenuList();
return PartialView(men);
}
  • Html.RenderAction("Menu"):也是直接写入响应流,

传参数:@{  Html.RenderAction("Menu",new{ Stu=new Student{age=“12”,name=“sb”}})  }

模板辅助方法

  • Html.Display和Html.Editor:通过数据注解来改变生成特定的HTML

     强类型版本:@Html.DisplayNameFor(x=>UserName)

渲染辅助方法

  • @Html.ActionLink("hello","index","StoreIndex",new {id=1025},null);

[ASP.NET MVC]笔记(一)模型和HTML辅助方法的更多相关文章

  1. 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数

    [问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...

  2. asp.net mvc笔记一,最小的MVC工程

    Asp.net MVC项目默认会引用很多第三方插件,特别是现在的5.0,默认示例项目就几十M,搞得都不知道那些才是MVC必须的,是重点,那些是可有可无的. 今天我们就来试验一下,看看一个最小的MVC工 ...

  3. [ASP.NET MVC]笔记(四 UnobtruSive AJAX和客户端验证

    UnobtruSive AJAX和客户端验证 ASP.NET MVC 已经默认开启非侵入试js和客户端验证,在web.config可以看到如下配置: <configuration> < ...

  4. [ASP.NET MVC]笔记(三) 成员资格、授权和安全性

    阻止CSRF(跨站请求伪造) ASP.NET MVC提供了一个阻止CSRF攻击的好方法 在每个提交的表单中包含 @using (Html.BeginForm("Index", &q ...

  5. [ASP.NET MVC]笔记(四) UnobtruSive AJAX和客户端验证

    UnobtruSive AJAX和客户端验证 ASP.NET MVC 已经默认开启非侵入试js和客户端验证,在web.config可以看到如下配置: <configuration> < ...

  6. ASP.NET MVC 笔记

    (从今天开始,还是换回默认的代码高亮插件吧...话说此篇仅供个人遗忘后查阅,木有详尽解释...) 1.Controller中的所有Action方法不限制返回值类型,返回值应该至少可以被ToString ...

  7. asp.net mvc 全局权限过滤器及继成权限方法

    全局权限过滤器 //----------------------------------------------------------------------- // <copyright f ...

  8. Asp.Net MVC向视图View传值的三种方法

    本文将总结Asp.Net MVC向视图View传值的三种常见的方法: ----------------------------------------------------------------- ...

  9. MVC之路随记3--Html辅助方法

    概述:MVC中使用@Html.MethodName 来做很多Html的事情,简化了开发工程量,使用方便,并且易于理解 详细方法: 1.表单 <form action="/Home/Se ...

随机推荐

  1. 利用Apache commons-net 包进行FTP文件和文件夹的上传与下载

    首先声明:这段代码是我在网上胡乱找的,调试后可用. 需要提前导入jar包,我导入的是:commons-net-3.0.1,在网上可以下载到.以下为源码,其中文件夹的下载存在问题:FTPFile[] a ...

  2. 如何发布自己的开源框架到CocoaPods【转】

    在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install ...

  3. <Mastering KVM Virtualization>:第一章 了解Linux虚拟化

    本章为读者提供了Linux虚拟化中流行技术的深刻见解,以及相较于其他同类技术的优势特点.本书共有14章,囊括了KVM虚拟化中的各个方面,从KVM的内部构造开始,并包括了诸如软件定义网络(SDN),性能 ...

  4. RabbitMQ安装以及java使用(二)

    上一篇记录了rabbitmq的安装,这一篇记录一下rabbitmq的java客户端的简单使用,当然在项目中我们有更为复杂的应用场景,这里只有最简单的点对点生产者与消费者模式. 1.建立工程 首先建立一 ...

  5. 8. Andrénalin ★ Serial

    无花无壳爆破/硬编码 istcmp字符串比较 "<BrD-SoB>" 仅允许非商业转载,转载请注明出处

  6. animate.css的使用

    前面的话 animate.css是一个使用CSS3的animation制作的动画效果的CSS集合,里面预设了很多种常用的动画,且使用非常简单.本文将详细介绍animate.css的使用 引入 anim ...

  7. Lenovo T440p 外放没有声音

    背景:Lenovo T440p,今天突然想听会歌 外放竟然没声音,fuck!!! 任务栏声音图标也没有静音标志. 驱动出问题了?检查下驱动,正常. 找了耳机试下,正常,看来驱动真的没问题. 喇叭坏了? ...

  8. Jquery ztree树插件

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  9. opencv 基本绘图函数

    opencv 常用的数据结构和函数 颜色空间转换函数 cvtColor 函数 cvtColor 函数是opencv 中的颜色空间转换函数.可以实现rgb向hsv hsi等颜色空间的转换,也可以转换成灰 ...

  10. javascript今生前世

    事情得从一个chrome控制台中的无意打印说起. 众所周知,js共六种数据类型,string.number.undefined.boolean.object.null.当然javascript还准备了 ...