当前位置:编程学习 > C#/ASP.NET >>

问个MVC的问题


@Html.DisplayFor是什么 为什么我循环的是Model 内部变量是itme而DisplayFor使用了modelItem 
这个控件是怎么用的 我有点迷糊
 
 @foreach (var item in Model) {
        <tr>
            <td>  
                @Html.DisplayFor(modelItem => item.Name)

第二个问题,为什么横线上的内容能输出,而横线下的内容不能输入
    @foreach (var item in ViewData["Collection"] as List<MvcAppTest.Models.Product>){

            @Html.Label(item.Id.ToString());<br />

            }
        ---------------------------------------------------------------------------------------
        @{
            foreach (var item in ViewData["Collection"] as List<MvcAppTest.Models.Product>)
            {
                Response.Write(item.Id);
            }
        }

第三个  @Html.Label在页面显示是lable标签,是html,那我怎么给他的name赋值
我试了好几个构造函数,都是 <Lable For="xx">11</Lable> 这样 这个FOR是什么东西?
为什么 @Html.Label(item.Id.ToString(),"f");
输出的是<Lable For="">ff</Lable>  --------------------编程问答-------------------- 怎么没人。。。我用的是MVC4 --------------------编程问答-------------------- @foreach (var item in ViewData["Collection"] as List<MvcAppTest.Models.Product>) {
    @item.Id <br/>
} --------------------编程问答-------------------- 其实Label、Editor等等用处不大,这些只适合搭建一些脚手架代码。

如果你要附加一些属性,可以这么写。
@Html.Label(m => m.Id.ToString(), new { name = "label1", id = "label1" }); --------------------编程问答-------------------- 如楼上所说,直接@item.Id输出就可以了,Label之类的确实用处不大! --------------------编程问答-------------------- view是模版 模版 模版 模版
Response.Write(item.Id); 这个是对整个响应流的

框架意味着:结构,顺序,规则~ Response.Write(item.Id);所以不可以~

Html.Label 没有name属性,input才有name属性,他的意义是
<input type="text" name="StudentName">
string studentname = Request.Form["StudentName"];
去看看php或asp表单是怎么提交的 你就明白了

<Lable For="xx">11</Lable> 这样 这个FOR是什么东西?
<input id="CityName" type="CheckBox" name="CityName">
<Lable For="CityName">深圳市</Lable>
作用是当我点击 深圳市 的时候 CheckBox会勾上,而不用鼠标对CheckBox点

你把for去掉试试效果就知道了~
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,