[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 ...
随机推荐
- [技术]浅谈c++ this指针
背景 matrix operator*=(const matrix &a){ *this=*this*a; return *this; } XXX:诶,你这个*this是什么啊,是指针吗 博主 ...
- 13. leetcode 453. Minimum Moves to Equal Array Elements
Given a non-empty integer array of size n, find the minimum number of moves required to make all arr ...
- JavaScript中正则表达式判断匹配规则以及常用的方法
JavaScript中正则表达式判断匹配规则以及常用的方法: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想 ...
- “军装照”背后——天天P图如何应对10亿流量的后台承载。
WeTest 导读 天天P图"军装照"活动交出了一份10亿浏览量的答卷,一时间刷屏朋友圈,看到这幕,是不是特别想复制一个如此成功的H5?不过本文不教你如何做一个爆款H5,而是介绍天 ...
- SQL Server数据库基础笔记
启动和停止SQL Server服务三种形式 后台启动服务 计算机->右键->管理->服务和应用程序->服务->sql server(MSSQLSERVER) SQL Se ...
- macOS下加载动态库dylib报"code signature invalid"错误的解决办法
一.现象描述 在macOS上搞开发也有一段时间了,也积攒了一定的经验.然而,今天在替换工程中的一个动态库时还是碰到了一个问题.原来工程中用的是一个静态库,调试时发现有问题就把它替换成了动态库.这本来没 ...
- Java的原始类型自动包装与解包机制
java5之后对原始数据类型如int.char.long等基本数据类型有自动打包成相应的复合类型Integer.Character.Long等的机制:也可以将复合类型自动转换为原始类型. 这取决于程序 ...
- WPF中使用Data Annotations验证Model
.NET Framework中System.ComponentModel.DataAnnotations提供了很多属性来验证对象的属性.可以在C:\Program Files (x86)\Refere ...
- 【NO.14】jmeter-处理结果
在1台测试机上面处理测试结果并没啥,比较麻烦的是合并2台测试机的测试结果. 首先说说,为什么我们需要使用2台(甚至3台.4台)测试机对服务器发送大量的请求呢?说白了就是测试机配置太弱了,服务器太牛逼. ...
- Qt控件窗体区域区分
控件窗体区域区分几何参数: 指的是窗口的大小和位置,一个窗口有两套几何参数,一套是窗口外边框所占的矩形区域,另一套是窗口客户区所占的矩形区域,所谓窗口客户区就是窗口中除去边框和标题栏用来显示内容的区域 ...