ASP.NET MVC 3下拉绑定

时间:2012-10-15 22:10:52

标签: asp.net-mvc-3 data-binding razor

在将模型绑定到要查看的集合期间,我遇到了下一个索引器语法。

这就是我所拥有的:

public class CustomerModel
{
    public List<Customer> Customers { get; set; }
}

public class Customer
{
    public int Id { get; set; }
    public string Name { get; set; }
    public ImportAction ImportAction { get; set; }
}

public enum ImportAction
{
    Skip,
    Add,
    Merge
}

我的观点:

@using (Html.BeginForm("Edit", "Home"))
{
    var index = 0;
    foreach (var customer in Model.Customers)
    {
        <span>Name: @customer.Name</span>
        @Html.DropDownListFor(x => x.Customers[index].ImportAction, customer.ImportAction.ToListItems())
        index++;
    }
    <button type="submit">
        Submit</button>
}

如何避免使用 [index] ?任何其他正确的语法?看一看,没有它@Html.DropDownListFor将不起作用并在帖子后面更新我的模型。

1 个答案:

答案 0 :(得分:1)

你可以使用循环变量'customer',如下所示:

@Html.DropDownListFor(x => customer.ImportAction)