MVC列表ViewModel没有绑定表单提交

时间:2016-01-03 08:22:53

标签: c# asp.net-mvc

我有一个 viewModel ,它有一个List<chartPopup_ViewModel>类型的属性,在提交表单时该属性始终为NULL。

我的ViewModels

namespace FrontEnd.ViewModels
{
    public class chartPopup_ViewModel
    {
        public string columnID { get; set; }
        public string rowID { get; set; }
        public IEnumerable<Md.Dal.entities.lookup_chart_values> lookup_chart_values { get; set; }

        public int index { get; set; }

    }

    public class chartPopupHeader_ViewModel
    {



        public int chartID { get; set; }
        public List<chartPopup_ViewModel> chartValues; --<--null upon form post

    }
}

我的观点......

@model FrontEnd.ViewModels.chartPopupHeader_ViewModel
    @Html.TextBox("chartID", 222)

    @for (int i = 0; i < Model.chartValues.Count; i++)
    {
        @Html.TextBoxFor(m=>m.chartValues[i].columnID)
        @Html.HiddenFor(m=>m.chartValues[i].index)
    }

我的控制员......

    public string SaveChart(chartPopupHeader_ViewModel vm)
    {
        return null;
    }
提交表单时,

chartValues 为NULL。为什么chartValues没有绑定... chartValues是一个类型List<chartPopup_ViewModel>

1 个答案:

答案 0 :(得分:2)

将其设为property,而不是field

public List<chartPopup_ViewModel> chartValues { get; set; }