[ASP.NET MVC]笔记(一)模型和HTML辅助方法
- 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辅助方法的更多相关文章
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
[问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...
- asp.net mvc笔记一,最小的MVC工程
Asp.net MVC项目默认会引用很多第三方插件,特别是现在的5.0,默认示例项目就几十M,搞得都不知道那些才是MVC必须的,是重点,那些是可有可无的. 今天我们就来试验一下,看看一个最小的MVC工 ...
- [ASP.NET MVC]笔记(四 UnobtruSive AJAX和客户端验证
UnobtruSive AJAX和客户端验证 ASP.NET MVC 已经默认开启非侵入试js和客户端验证,在web.config可以看到如下配置: <configuration> < ...
- [ASP.NET MVC]笔记(三) 成员资格、授权和安全性
阻止CSRF(跨站请求伪造) ASP.NET MVC提供了一个阻止CSRF攻击的好方法 在每个提交的表单中包含 @using (Html.BeginForm("Index", &q ...
- [ASP.NET MVC]笔记(四) UnobtruSive AJAX和客户端验证
UnobtruSive AJAX和客户端验证 ASP.NET MVC 已经默认开启非侵入试js和客户端验证,在web.config可以看到如下配置: <configuration> < ...
- ASP.NET MVC 笔记
(从今天开始,还是换回默认的代码高亮插件吧...话说此篇仅供个人遗忘后查阅,木有详尽解释...) 1.Controller中的所有Action方法不限制返回值类型,返回值应该至少可以被ToString ...
- asp.net mvc 全局权限过滤器及继成权限方法
全局权限过滤器 //----------------------------------------------------------------------- // <copyright f ...
- Asp.Net MVC向视图View传值的三种方法
本文将总结Asp.Net MVC向视图View传值的三种常见的方法: ----------------------------------------------------------------- ...
- MVC之路随记3--Html辅助方法
概述:MVC中使用@Html.MethodName 来做很多Html的事情,简化了开发工程量,使用方便,并且易于理解 详细方法: 1.表单 <form action="/Home/Se ...
随机推荐
- echarts 支持svg格式
今天研究了下echarts的svg格式.发现用ai生成svg格式的图片,echarts上面显示不了. 经过了多次的百度和谷歌终于找到了用Method Draw画出来的svg格式,echarts就能加载 ...
- oAuth 认证
这段时间公司开发项目用到oAuth2协议,现在做一下梳理. CORS即Cross Origin Resouce Share,跨域资源共享:是W3C为防止脚本攻击,而制定的安全标准之一,它云溪浏览器向跨 ...
- 参数化Insert
public void Insert(Customer item) { string sql = @"USE [WXCustomerCard]GOINSERT INTO ...
- CentOS 6.5安装JDK、Tomcat、Mysql
安装JDK 1.下载JDK7 下载jdk-7u79-linux-x64.tar.gz 百度网盘下载地址:https://pan.baidu.com/s/1c1JZo2k 在Linux上新建/usr/j ...
- python学习===判断两个日期的间距天数
import datetime d1 = datetime.date(2015,10,7) d2 = datetime.date(2015,8,15) print((d1-d2).days)
- 腾讯SNG电面
第一次电面. 前半段基本闲聊,问题也记得不太清楚了. 自我介绍. 为什么想去上海工作?除了职业方面有其他原因吗?我猜出来面试官想问私人问题了,你真的可以直接问的,拐弯抹角了好久...有什么爱好.特长. ...
- 静态TLS和动态TLS
静态TLS的使用方法: #include <Windows.h> #include <iostream> #include <iomanip> using name ...
- 来杯咖啡看Pecan
Pecan的介绍及安装 文章内容来自官方文档:http://pecan.readthedocs.io/en/latest/quick_start.html Pecan的介绍: Pecan是一个路由对 ...
- perl的正则表达式
“小骆驼”的“正则表达式“部分学习总结: 一.匹配语法: 1.".":任意单字符(‘\n‘除外): 2.“*“:匹配前项0-n次: 3.“+“:匹配前项1-n次: 4.“?”:匹配 ...
- testNG java.net.SocketException: Software caused connection abort: socket write error
执行用例报错,提示 java.net.SocketException: Software caused connection abort: socket write error java.net.So ...