刚接触mvc 用他自动生成的view的时候发现这个情况
<%= Html.LabelFor(model => model.sUser) %>
<%= Html.TextBoxFor(model => model.sUser) %>
<%= Html.ValidationMessageFor(model => model.sUser) %>
我+标识符标志了一下,发现labelfor是现实这个model的字段名,textboxfor是现实这个model的字段名的值,后面那个我估计是现实错误或者验证的信息。
这3个东西是作用是不是我分析的这样?还有,我不会linq 后面的那个lambda表达式的意识是不是说输入一个model返回这个model的sUser?感谢
不上午aUser是个字段吧?然后labelFor是显示没错,TextBox是一个文本框,一个属性是你的sUser字段,这样就可以在你的Control里面自动得到这个TextBox的值,比如你在用户注册的时候用的Model实体,这样你的control里面接收这个用户提交数据的时候可以写这样一个Action
【HttpPost】
public ActionResult Regist(User u){
//你在这里就可以获取到这个user的对应属性值,这时候你直接把这个User类型的对象存入数据库就行了。
}
至于后面那个lambda表达式,你看看那三个方法的参数,上面的解释是“一个验证对象包含属性的表达式”(ps:大致是这样吧,话说我英语也不怎么好,呵呵)
我觉得真理解吧,就是强类型的一个方法,在lamda表达式的时候可以很好的进行智能感知。
我建议你去看看下面的文章。。
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
很好的。一篇接收Html类强类型的文章。
祝你好运。
labelerfor是显示出一个字段名称;textboxfor是将你想显示的值显示到input:text的value里面即是用文本框显示;对于最后一个,比如你创建了一个Linq To SQL,在字段前判断非空那些则用ValidationMessageFor显示出你判断的那些信息