asp.net mvc3 初学者 用法小结

来源:互联网 发布:如何查域名绑定的空间 编辑:程序博客网 时间:2024/04/29 10:39

一、.@Html.LabelFor
Html.LabelFor(m => m.UserName)就是创建一个lable,视图引擎会将这句话编译为
<label id="UserName" name="UserName">User name</label>
m=>m.UserName是一个lamba表达式
1.Html.Label和LabelFor都是创建一个label,区别是LabelFor的参数是强类型的,目的就是为了使用lamba表达式,这可以促成更好的编译时视图检查(可以在编译时发现缺陷,而不是在运行时),还可以促成视图模板中更好的代码intellisense支持,现在推荐用强类型的。
参考http://msdn.microsoft.com/zh-cn/downloads/ff183115.aspx
2.model是你在View中指定的,在页面中添加@model Test.Model.LogOnModel即为View指定了一个强类型的Model
3.表单提交跟html中的是一样的@using (Html.BeginForm())这里最后还是生成了form标签,只是默认的action是该页面的路由地址,method为post。

带For的都是用来从表达式树推断生成各对应标签的

比如Html.HiddenFor(model => model.Name) 就是生成一个Name标签的隐藏域

    延伸:@Html.ValidationMessageFor(model => model.GenreId) 是客户端验证,一般前面会写有label 或者text、input框,用来验证输入的有效性,在jquery.validate.js中的验证。


二、@Html.ValidationSummary(true)
@Html.ValidationSummary(true)用于返回表单在后台验证的结果
如,当后台if (ModelState.IsValid)失败后,错误信息就会显示到 @Html.ValidationSummary(),当前后台验证都通过,但某些逻辑验证没有通过,比如用记名密码错误的,可以手工添加错误信息,ModelState.AddModelError("", "The current password is incorrect or the new password is invalid.");这个也会显示到@Html.ValidationSummary()
@Html.ValidationSummary()可携带一个bool型参数,true 或者 false。
如,@Html.ValidationSummary(true),true意味着只显示模型层面的错误消息,比如数据模型验证错误,若为false, 则意味着显示所有信息,信息显示顺序为,属性错误在前,模型错误在后。


三、@Html.DisplayFor

@Html.DisplayFor 是用来转换显示格式,如日期,时间,数字等。

0 0
原创粉丝点击