MVC发布带有对象列表,集合为空

时间:2018-02-13 02:55:21

标签: asp.net-mvc

我正在进行一种演练(第1步> 2> 3等),其中一个最后一步是从选择列表中选择一个项目。

用户从选择列表中选择的视图具有此模型

public class EventAndCompany
{
    public int EventID { get; set; }
    public int CompanyID { get; set; }
}

视图是

@model Prototypes.Models.EventAndCompany

<div class="row">
    <div class="col-md-4">
        <h2>Step 3. Select questionnaire(s)</h2>
        @using (Html.BeginForm("Step4", "Home", FormMethod.Post))
        {
            @Html.AntiForgeryToken()
            @Html.HiddenFor(m => m.EventID)
            @Html.HiddenFor(m => m.CompanyID)
            <select name="Questionnaires">
                <option value="58926211-517E-4F5E-8E77-6256EC1832F6">Questionnaire 1</option>
                <option value="7477ECB1-C548-4532-9D07-C01DA50A5B2C">Questionnaire 2</option>
                <option value="EBE4D377-BF46-478B-AEF7-E8F853B8632C">Questionnaire 3</option>
                <option value="D94B7639-AF26-4CBE-A792-DCD7AC034BFB">Questionnaire 4</option>
                <option value="46544CFE-75A5-446B-8E6F-DB4E54B86890">Questionnaire 5</option>
            </select>
            <p><input type="submit" class="btn btn-default" value="Submit" /></p>
        }
    </div>
</div>

他们提交的行动是否有此方法签名

public ActionResult Step4(Models.EventCompanyQuestionnaires model)

那个模型是

public class EventCompanyQuestionnaires
{
    public int EventID { get; set; }
    public int CompanyID { get; set; }
    public List<Questionnaire> Questionnaires { get; set; }
}

调查问卷是

public class Questionnaire
{
    public Guid QuestionnaireID { get; set; }
}

当我将表单提交到Step4操作时,问卷调查模型字段已初始化,但Count为0且select中的选定选项未传递给控制器​​。

1 个答案:

答案 0 :(得分:0)

只需将您的帖子操作修改为

即可
public ActionResult Step4(Models.EventCompanyQuestionnaires model, Guid Questionnaires)