Asp.net mvc 4 HTTPPost上的ViewModel列表对象返回Null

Asp.net mvc 4 HTTPPost上的ViewModel列表对象返回Null,asp.net-mvc-4,http-post,Asp.net Mvc 4,Http Post,我正在将表单发回服务器,值始终为空 型号: public class RDetailsViewModel { public RDetailsMaster RDetailsMaster { get; set; } public ETransaction ETransaction { get; set; } } public class RDetailsMaster { [Required] public List<QE_DROPDOWN_MST> Ma

我正在将表单发回服务器,值始终为空

型号:

public class RDetailsViewModel
{
    public RDetailsMaster RDetailsMaster { get; set; }
    public ETransaction ETransaction { get; set; }
}

public class RDetailsMaster
{
    [Required]
    public List<QE_DROPDOWN_MST> Master_EQ { get; set; }

    [Required]
    public List<QE_DROPDOWN_MST> Master_BASIS { get; set; }

    [Required]
    public List<QE_DROPDOWN_MST> Master_TE { get; set; }

    [Required]
    public List<QE_DROPDOWN_MST> Master_ALOP { get; set; }

    [Required]
    public List<QE_DROPDOWN_MST> Master_RISK { get; set; }

    [Required]
    public List<QE_DROPDOWN_MST> Master_EXCESS { get; set; }

    [Required]
    public List<QE_DROPDOWN_MST> Master_CType { get; set; }

}
我的看法是:

 @model QMS_ERater.ViewModels.RDetailsViewModel
 @{
    ViewBag.Title = "RDetails";
  }
<script src="~/Scripts/EAR/RDetails.js"></script>
@using (Html.BeginForm("RDetails", "RDetails", FormMethod.Post))
{   
<h2>RDetails</h2>
<div class="well well-sm">
    <div id="divDetail101" runat="server">
        <div class="row">
            <div class="col-sm-4">
                <span style="vertical-align: top; color: Red">*</span> EQ :
            </div>
            <div class="col-sm-3">
                @Html.DropDownListFor(m => m.ETransation.EQ, new SelectList(Model.RDetailsMaster.Master_EQ, "VALUE", "DESCRIPTION"), "--Select--", new { style = "width: 100%;" })
            </div>
            <div class="col-sm-2">
                <span style="vertical-align: top; color: Red">*</span> On First Loss Basis :
            </div>
            <div class="col-sm-3">
                @Html.DropDownListFor(m => m.ETransation.BASIS, new SelectList(Model.RDetailsMaster.Master_BASIS, "VALUE", "DESCRIPTION"), "--Select--", new { style = "width: 100%;" })
            </div>
            <div class="col-sm-4">
                <span style="vertical-align: top; color: Red">*</span> Terrorism :
            </div>

            <div class="col-sm-3">
                @Html.DropDownListFor(m => m.ETransation.IS_TE, new SelectList(Model.RDetailsMaster.Master_TE, "VALUE", "DESCRIPTION"), "--Select--", new { style = "width: 100%;" })
            </div>
            <div class="col-sm-2">
                <span style="vertical-align: top; color: Red">*</span> ALOP :
            </div>

            <div class="col-sm-3">
                @Html.DropDownListFor(m => m.ETransation.IS_ALOP, new SelectList(Model.RDetailsMaster.Master_ALOP, "VALUE", "DESCRIPTION"), "--Select--", new { style = "width: 100%;" })
            </div>

            <div class="col-sm-4">
                <span style="vertical-align: top; color: Red">*</span> Wet Risk :
            </div>

            <div class="col-sm-3">
                @Html.DropDownListFor(m => m.ETransation.IS_RISK, new SelectList(Model.RDetailsMaster.Master_RISK, "VALUE", "DESCRIPTION"), "--Select--", new { style = "width: 100%;" })
            </div>
        </div>
    </div>

    <input type="submit" value="Submit" />

</div>    
@model QMS\u rater.ViewModels.RDetailsViewModel
@{
ViewBag.Title=“RDetails”;
}
@使用(Html.BeginForm(“RDetails”、“RDetails”、FormMethod.Post))
{   
RDetails
*情商:
@DropDownListFor(m=>m.ETransation.EQ,新选择列表(Model.RDetailsMaster.Master_EQ,“值”,“描述”),“--Select--”,新{style=“width:100%;”})
*在首次损失的基础上:
@DropDownListFor(m=>m.ETransation.BASIS,新选择列表(Model.RDetailsMaster.Master_BASIS,“VALUE”,“DESCRIPTION”),“--Select--”,新{style=“width:100%;”})
*恐怖主义:
@DropDownListFor(m=>m.ETransation.IS_TE,新选择列表(Model.RDetailsMaster.Master_TE,“值”、“说明”),“--Select--”,新{style=“width:100%;”})
*阿洛普:
@DropDownListFor(m=>m.ETransation.IS_ALOP,新选择列表(Model.RDetailsMaster.Master_ALOP,“VALUE”,“DESCRIPTION”),“--Select--”,新{style=“width:100%;”})
*潮湿风险:
@DropDownListFor(m=>m.ETransation.IS_RISK,新选择列表(Model.RDetailsMaster.Master_RISK,“值”,“说明”),“--Select--”,新{style=“width:100%;”})
}

当我尝试调用post方法时,objR仅为列表对象返回空值。 任何帮助都将不胜感激。
提前谢谢

您必须同时显示您的视图。现在代码中似乎没有任何错误。您需要发布视图和完整控制器…这意味着您没有正确生成视图。张贴相关代码(仅足以显示如何为其中一个集合中的几个属性生成表单控件)您的集合没有填充,因为您没有为它们创建表单控件,您也不应该这样做-您仅使用then生成
选择列表
。当你发表文章时,你应该保存和重定向。返回视图的唯一时间是如果
ModelState
无效,在这种情况下,您需要像在GET方法中那样重新填充列表。您应该从集合中删除
[Required]
属性-它们毫无意义。
 @model QMS_ERater.ViewModels.RDetailsViewModel
 @{
    ViewBag.Title = "RDetails";
  }
<script src="~/Scripts/EAR/RDetails.js"></script>
@using (Html.BeginForm("RDetails", "RDetails", FormMethod.Post))
{   
<h2>RDetails</h2>
<div class="well well-sm">
    <div id="divDetail101" runat="server">
        <div class="row">
            <div class="col-sm-4">
                <span style="vertical-align: top; color: Red">*</span> EQ :
            </div>
            <div class="col-sm-3">
                @Html.DropDownListFor(m => m.ETransation.EQ, new SelectList(Model.RDetailsMaster.Master_EQ, "VALUE", "DESCRIPTION"), "--Select--", new { style = "width: 100%;" })
            </div>
            <div class="col-sm-2">
                <span style="vertical-align: top; color: Red">*</span> On First Loss Basis :
            </div>
            <div class="col-sm-3">
                @Html.DropDownListFor(m => m.ETransation.BASIS, new SelectList(Model.RDetailsMaster.Master_BASIS, "VALUE", "DESCRIPTION"), "--Select--", new { style = "width: 100%;" })
            </div>
            <div class="col-sm-4">
                <span style="vertical-align: top; color: Red">*</span> Terrorism :
            </div>

            <div class="col-sm-3">
                @Html.DropDownListFor(m => m.ETransation.IS_TE, new SelectList(Model.RDetailsMaster.Master_TE, "VALUE", "DESCRIPTION"), "--Select--", new { style = "width: 100%;" })
            </div>
            <div class="col-sm-2">
                <span style="vertical-align: top; color: Red">*</span> ALOP :
            </div>

            <div class="col-sm-3">
                @Html.DropDownListFor(m => m.ETransation.IS_ALOP, new SelectList(Model.RDetailsMaster.Master_ALOP, "VALUE", "DESCRIPTION"), "--Select--", new { style = "width: 100%;" })
            </div>

            <div class="col-sm-4">
                <span style="vertical-align: top; color: Red">*</span> Wet Risk :
            </div>

            <div class="col-sm-3">
                @Html.DropDownListFor(m => m.ETransation.IS_RISK, new SelectList(Model.RDetailsMaster.Master_RISK, "VALUE", "DESCRIPTION"), "--Select--", new { style = "width: 100%;" })
            </div>
        </div>
    </div>

    <input type="submit" value="Submit" />

</div>