从查看数组内的列表中的ID

时间:2014-06-18 20:37:21

标签: asp.net-mvc asp.net-mvc-3

我有以下结构:

public class MyType 
    {
        public int id { get; set; }
        public string name { get; set; }
    }

public class MyViewData : ObjetoViewModel
{
    public List<MyType>[] listParams { get; set; }
}

有了这个,我在MyType数组中加载了5个listParams类型的列表。

我正在尝试访问第一个列表的第一个id到我的视图中,但我没有取得任何成功。我想尝试像:

<%: Html.Label(Model.listParams[0]. ???? )%></td>

但我无法达到价值

2 个答案:

答案 0 :(得分:1)

要在数组元素y打印列表的元素x,您只需要以下内容:

<%: Model.lstParams[x][y].id %>

Html.LabelFor用于生成文本标签(默认情况下)显示输入所代表的属性的名称,其中输入将是表示属性的表达式,属性的值,这是你想要产生的。

答案 1 :(得分:0)

因此,您希望使用Html.Label助手的原因是因为它生成了与您的属性名称匹配的标签。

如果你有一个MyType作为你的模型,它会这样做:

<label for="id">id</label>

<input type="text" name="id" id="id" value="Some value"/>

通过使用阵列,您可能会失去这种好处,但如果需要,您仍然可以使其工作。如果您尝试将数据发回,这就是您希望它发挥作用的原因。

<% for (int i = 0; i < Model.lstParams; i++) { %>    
  <%: Html.LabelFor(m => m.lstParams[i].id) %>
  <%: Html.TextBoxFor(m => m.lstParams[i].name) %>    
<% } %>