C#之MVC3继续整理问题
1、注释验证
[EmailAddress(ErrorMessage = "×")],用的MVC3框架,此处报错,找不到类“EmailAddress”,看到原文有using System.ComponentModel.DataAnnotations.Schema;但引用的时候同样报错,using System.ComponentModel.DataAnnotations前面没有错,直到加上Schema后就开始报错了。于是直接改成[RegularExpression(@"(\w)+(\.\w+)*@(\w)+((\.\w+)+)",ErrorMessage ="{0}格式不正确")]
2、new
public new string Password { get; set; }
new,是用来改变一个方法或是一个属性,在其基类中所实现的行为的。
具体在程序片段中: public new string Password
Password,是当前派生类的一个 返回string类型的属性,这个属性是继承而来的,如果不想这个属性如其在基类中所定义的那样实现,可以覆写这个属性:public string Password
注意,上面是没有加new的,这样写没有问题,但是编译器会发出警告(它担心你不小心覆写了基类的Password属性),为了不让编译器发出警告(也表明你的确是想覆写这个属性),你可以加上new,就像这样:public new string Password
如此,编译器就知道,你很清楚,是在覆写该属性,也就不会报警了。
3、/// <summary>
https://msdn.microsoft.com/zh-cn/library/5ast78ax.aspx
eg:
/// <summary>
///取超连接参数值
/// </summary>
/// <param name="i_Parameter">超连接参数名</param>
/// <param name="i_defValue">当取值为""时设置的默认值</param>
/// <returns>返回超连接参数值</returns>
public static string GQ(string i_Parameter, string i_defValue){} 这是一个完整的写法, summary这是指明函数的一些参数说明,在vs软件里当你使用这个函数时,他便会有代码提示的
param里的name就设置成你函数的参数名啦
/// <param name="i_defValue">当取值为""时设置的默认值</param>
这样写便知道在使用哪个参数了,i_defValue对应你下面函数里的一个参数名,当取值为""时设置的默认值是提示内容
4、return default(T)
default 为泛型代码中的默认关键字 给定参数化类型 T 的一个变量 t,只有当 T 为引用类型时,语句 t = null 才有效;只有当 T 为数值类型而不是结构时,语句 t = 0 才能正常使用。解决方案是使用 default 关键字,此关键字对于引用类型会返回空,对于数值类型会返回零。对于结构,此关键字将返回初始化为零或空的每个结构成员,具体取决于这些结构是值类型还是引用类型。以下来自 GenericList<T> 类的示例显示了如何使用 default 关键字。
5、@Html.LabelFor
- @Html.LabelFor(model=>mode.Name) 输出: <label for="Name">Name</label>
- @Html.LabelFor(model=>mode.Name,"姓名") 输出:<label for="name">姓名</label>
- 如果在上面实体添加[DisplayName("姓名")]特性(引用System.ComponentModel;)则会显示:
- <label for="Name">姓名</label>用于显示汉字很方便
6、@Html.EditorFor
@Html.EditorFor(mode=>mode.Name)
如果返回的View给Student实体赋予值,则输出输出<input class="text-box single-line" id="Name" name="Name" type="text" value="默认值" />否则Value为"";
b、@Html.EditorFor(mode=>mode.Name,"templateName")
第二个参数为模版名称,模版的定义:
首先在目录View/Shared/建立文件夹EditorTemplates/templateName.cshtml 即:View/Shared/EditorTemplates/templateName.cshtml
注:这务必用EditorTemplates作为文件夹
templateName.cshtml代码为: @Html.DropDownList("",new SelectList(new []{"1","2","3"}))表示一个值为1,2,3的下拉列表
这时就可以调用@Html.EditorFor(mode=>mode.Name,"templateName"),则显示成一个下拉列表,如果模版中设置的一个文本框则显示成文本框。
同时,也可以在实体Student中的Name属性加上[UIHint("templateName")]特性 如果加上这个则可在调用的时候不用显示指定模版名称
用@Html.EditorFor(mode=>mode.Name)即可显示成下拉框,同时所有用这个字段的都将变成下拉列表
相当与Html中的Input控件
@Html.EditorFor(model=>model.Age)
页面显示为: <input id="Age" name="Age" type="text" value="" />
7、Any和All
bool anyUSA = customers.Any(c = > c.Country == "USA");
LINQ方法Any()把传送给它的 表达式c=>c.Country == "USA"应用于customers 列表中的所有数据,如果对于列表中的任意顾客, 表达式是true,就返回true。
bool allAsia = customers.All(c = > c.Region == "Asia");
http://book.51cto.com/art/200901/105661.htm
8、modelstate
MVC中Controller类有一个ModelState属性集合,可以用来提示传递到视图的model对象是否有错误。ModelState中Error记录识别模型属性的名称和错误信息,并允许指定友好的错误信息。
9、link属性 type="image/x-icon"
用于在浏览器地址栏里显示的图片
这样写了后,在浏览器的地址栏里,图片会显示成你给的路径的这个图片,不过貌似这个路径不能改,只能是网址根目录下的favicon.ico文件,而且现在好像不用写这个,只要根目录下有这个文件,浏览器会自动读取出来并显示~~

C#之MVC3继续整理问题的更多相关文章
- .NET Web开发技术简单整理
在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...
- Asp.Net MVC3.0网站统计登录认证的在线人数
Asp.Net MVC3.0网站统计登录认证的在线人数 前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这 ...
- 经典ASP.NET MVC3.0入门详解
http://blog.csdn.net/csh624366188/article/details/7064269 :由于本文原在word文档里编写,写本文章时运用了大量截图,直接复制到博客里,没有显 ...
- MVC3中Action返回类型ActionResult类型
MVC3中Action返回类型ActionResult在System.Web.Mvc命名空间中.这些包含在控制器中的方法,我们称为控制器中的 Action,比如:HomeController 中的 I ...
- 转载:.NET Web开发技术简单整理
在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...
- 基于MVC3下拉列表联动(JQuery)
上次项目中遇到一个需要多个下拉列表联动的操作,今天有空将实现方式整理以便以后参考. 要达到的效果是,点击一个下拉框,则另一个下拉框的值发生对应变化.如:选择中国,则另个一下拉框里显示中国各个省份. 传 ...
- 【ASP.Net MVC3 】使用Unity 实现依赖注入
转载于:http://www.cnblogs.com/techborther/archive/2012/01/06/2313498.html 家人身体不太好,好几天没在园子里发帖了. 新项目还是要用M ...
- 转MVC3介绍
第一节:Asp.Net MVC3项目介绍 让我们先看一下,一个普通的Asp.Net MVC3项目的样例,如下图所示 跟WebFrom还是有区别的,如果你已经了解Asp.Net MVC2的话,那就感觉异 ...
- .NET Web开发技术简单整理 转
.NET Web开发技术简单整理 原文:http://www.cnblogs.com/SanMaoSpace/p/3157293.html 在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何 ...
随机推荐
- python 学习笔记12(事件驱动、IO多路复用、异步IO)
阻塞IO和非阻塞IO.同步IO和异步IO的区别 讨论背景:Linux环境下的network IO. 1.先决条件(几个重要概念) 1.1.用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32 ...
- js对象转换为json字符串
JavaScript的对象是一组由键-值组成的无序集合,例如: var person = { name: 'Bob', age: 20, tags: ['js', 'web', 'mobile'], ...
- [WIP]laravel 构成的概念
创建: 2019/06/21 生命周期 概论 检索service provider service container se ...
- 基础篇:MySQL系列之三
一.MySQL简介 MySQL原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun公司收购.2009年,Oracle收购sun公司,MySQL ...
- chromedriver对应chrom版本
chromedriver版本 支持的Chrome版本 v2.37 v64-66 v2.36 v63-65 v2.35 v62-64 v2.34 v61-63 v2.33 v60-62 v2.32 v5 ...
- Exadata中的dbserver_backup.sh脚本
dbserver_backup.sh脚本在老版本的exadata中,它存放在/opt/oracle.SupportTools目录中,主要用于/根文件系统和/boot分区的备份.dbserver_bac ...
- POJ1036 Gangsters
题目来源:http://poj.org/problem?id=1036 题目大意: 有N个强盗要进入一家饭店打劫,第i个强盗在Ti时刻到达,会抢到Pi的财产.饭店的门有K+1状态,门打开的程度为[0, ...
- Webpack+Vue构建项目
第一步:单纯的搭建出来我们的项目,并且通过webpack打包一个bundle.js然后运行起来 步骤: 1.建立项目必要的文件和文件夹(见截图) 2.配置webpack.develop.config. ...
- CentOS7.3下Zabbix3.5之邮件报警配置
一.邮件客户端以及脚本相关配置 1.安装sendmail,一般操作系统默认安装了安装 yum install sendmail 启动 service sendmail start 设置开机启动 chk ...
- js 中的 for 循环。。。
for (var i in data){ data[i] } 和for (var i=0;i< data.length; i++){ data[i] } 第一种可能会有bug...