asp.net MVC中LabelFor(m => m.UserName)整句是什么意思啊 然后m=>m.username又是什么意思
如题 --------------------编程问答-------------------- Lambda 表达式 --------------------编程问答-------------------- 比如你这个视图的Model是LogOnModel(如下),那么m就是指代LogOnModelpublic class LogOnModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
}
Html.LabelFor(m => m.UserName)就是创建一个lable,视图引擎会将这句话编译为
<label id="UserName" name="UserName">User name</label>
m=>m.UserName是一个lamba表达式,相关内容可查看C#高级编程 --------------------编程问答--------------------
我想问几个问题 1. 如果html.labelfor 是创建一个label 那么html.label呢?? 2.怎么知道view下的model是哪个 是根据view的文件名字加个model吗??3.还有提交表单是怎么提交的,为什么不用像html那样给要action的页面,然后就能将表单的值传到相应的地方呢 --------------------编程问答--------------------
建议楼主看下MVC的资料 参考 --------------------编程问答--------------------
我都怀疑是不是我智商有问题,看着看着就晕了。然后整本书看完不知道看啥了,还继承来继承去的还什么接口·······看着都眼花 --------------------编程问答-------------------- 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
建议:学习mvc3可以对照 musicstore来学习,博客园上有中文教程
http://www.cnblogs.com/haogj/archive/2011/11/23/2246032.html
最好是先了解mvc从客户端发起请求到返回相应的整个过程
--------------------编程问答-------------------- 不建议先看MVC,首先看C# --------------------编程问答--------------------
不会c#我怎么会去学mvc。只能说不牛 --------------------编程问答-------------------- 就问题说问题,=>是Lambda表达式,它表示一个匿名委托,m是这个委托的一个参数,m.UserName相当于函数体,{ return m.UserName; } --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 就版主说的靠谱 其他人在那不知所云
补充:.NET技术 , ASP.NET