• 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. 双向循环链表(C语言描述)(四)

    下面以一个电子英汉词典程序(以下简称电子词典)为例,应用双向循环链表.分离数据结构,可以使逻辑代码独立于数据结构操作代码,程序结构更清晰,代码更简洁:电子词典的增.删.查.改操作分别对应于链表的插入. ...

  2. cvim常用快捷键

      esc:返回浏览模式 h.j.k.l:上.下.左.右 u/e.d:上半屏.下半屏 H.L:后退.前进 f.F:直接打开.后台打开 gg.G:页头.页尾 gi.gI:第一个输入框.最后一个输入框 q ...

  3. css小随笔(二)与通用样式

    51先在学校HTML5已经有半个多月了,然后这个星期做了一个京东的手机网站,接触到了通用样式,下面以京东的手机站为例 这两个就是京东手机站了的不同的两个板块,因为HTML5仅仅只是学完了基本标签跟cs ...

  4. Presto0.157版本单节点部署教程

    因为Presto版本的更新速度较快,所以最好按照对应版本的教程进行部署,博主之前看错了版本号,拿0.100版本的教程来部署0.157版本,结果导致部署失败. 官网:https://prestodb.i ...

  5. Luogu P2966 [USACO09DEC]牛收费路径Cow Toll Paths

    题目描述 Like everyone else, FJ is always thinking up ways to increase his revenue. To this end, he has ...

  6. 远程Get,Post请求工具类

    1.远程请求工具类   import java.io.*; import java.net.URL; import java.net.URLConnection; import java.util.L ...

  7. python 导入模块 import 理解

    --python 导入模块 import 理解 -----------------------------------2014/03/18 python 导入一个模块的过程要求有一个叫做“路径搜索”的 ...

  8. Oracle外键需要建索引吗?

    关于Oracle中的外键,首先要说明一下. 1. 除非已定义了父表主键或唯一键约束,否则oracle将不允许创建子表的外键约束. 2. 在定义外键约束时,oracle不会自动创建索引,所以必须手动在与 ...

  9. MATLAB批量读入图片

    %% import pictures, and save into images{img_num} function [images, img_num, vertical_border] = impo ...

  10. Angular企业级开发(10)-Smart Table插件开发

    1.Smart Table内置的分页功能 Smart Table是基于AngularJS模块特性开发出来的一款优秀的表格组件,默认就支持过滤.排序等核心功能.开发者基于它也可以开发插件,满足个性化需求 ...