如何在字典中填充值并将它们从视图传递到POST

本文关键字:视图 POST 字典 填充 | 更新日期: 2023-09-27 18:19:23

我有一个字典:

    Dictionary<Section, List<EntryParameter>> sectionDict;
        //getting dictionary and pass it to model
    model.SectionDict=sectionDict;

我将它从控制器的GET方法传递给View,在那里我想填充List (EntryParameter.Value)中每个元素的值

我的问题是,在post方法我收到null而不是模型。SectionDict

如何正确地在我的模型内部的字典或列表上工作?

如何在字典中填充值并将它们从视图传递到POST

总算解决了!问题是,通过post方法传输值,我必须使用索引。在构建html之后,输入的名称不能以某种方式编码,该模型不理解。使用dictionary,我得到如下内容:

<input name="[1].EnterValue" class="form-control" 
    id="Parameter3" type="text" value="" data-val="true" data-val-required="!!!">

相反,我制作了model field:

List<EntryParameter> EntryParameterList

保存字典中元素的填充值。我是这样做的:

var listIndex = Model.EntryParametersList.IndexOf(Model.EntryParametersList.Where(o => o.Parameter.ID == Model.SectionDict.ToArray()[k].Value[i].Parameter.ID).First());
    @Html.TextBoxFor(m => Model.EntryParametersList[listIndex].EnterValue, new {(someAttributes)});

结果是

<input name="EntryParametersList[1].EnterValue" class="form-control" 
    id="Parameter3" type="text" value="" data-val="true" data-val-required="!!!">

这就解决了问题,一切都归到模型。