[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 ...
随机推荐
- PHP执行linux命令mkdir权限问题
在linux系统中,root帐号执行php命令: mkdir('test', 0777); 结果文件的权限依然为: drwxr-xr-x 2 root root Jul 27 19:30 test ...
- Solr-Centos7 安装部署solr-5.5.4
一 下载安装所需文件 http://archive.apache.org/dist/lucene/solr/ solr-5.5.4.tgz http://archive.apache.org/dist ...
- rocketmq client for c#
基于ikvm的rocketmq的c#客户端,由于阿里对c#不敏感,对这方面的东西缺少.因为工作需要弄了一个,分享给大家 https://github.com/franknew/RocketMQ-Cli ...
- NYOJ--128--前缀式计算(表达式求值)
前缀式计算 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式. 而把中缀式按运算顺序加上括 ...
- POJ 2593 Max Sequence
Max Sequence Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 17678 Accepted: 7401 Des ...
- 9. Palindrome Number 回文 my second leetcode 20170807
Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers. S ...
- securecrt鼠标右键的配置
在使用的secureCRT的情况下,选择好要复制的内容后点击右键时,会直接在命令行粘贴内容.如果不想右键直接粘贴而是跳出菜单选择,就要进行设置了. 方法如下: options->Gloabal ...
- FPS手游如何脱颖而出?看《CF手游》的性能突破之路
WeTest导读 俗话说:用户体验不谈性能就是耍流氓. 在PC游戏上的性能问题并没有那么明显, 加个内存换个CPU或者刷个主频就能轻松搞定:到了手游时代后情况则显得比较严峻,捉襟见肘的内存使得资源加载 ...
- Linux 环境变量详解
1. $HOME变量从哪里获得的? HOME 本身是 shell 来设置的,你可以自己手工设置(例如使用 bash 的 export),也可以在 shell 的初始化文件中设置(例如 bash 的 . ...
- MySQL binlog相关分析
1.redolog.binlog的简单分析 图解:redolog和binlog机制 2.开启binlog及关注点 3.关注binlog的相关参数 4.binlog模式分析 5.关于binlog的使用 ...