繁体   English   中英

带动态字段的ASP.NET MVC表单

[英]ASP.NET MVC Form with Dynamic Fields

问题

我想显示一个具有可变数值的表单。 但是,每个表单项都必须具有与之关联的一种键。 例如,表单生成一个名称,用户名和职业字段,我还需要生成密钥,以便在提交表单时,接收方法可以告诉哪些项目是什么。

试图解决方案

现在我有一个FieldItems列表,其中FieldItem只是一个带有一个String类变量的类。 填充表单时解决方案有效,但是在提交时会返回一个列表,我无法分辨哪个值属于哪个键。 我正在考虑使用字典,但我不知道如何用剃刀完成。

查看模型

public class BuildReportViewModel
{
    public IList<BuildReportFieldItemViewModel> Fields { get; set; }
}
public class BuildReportFieldItemViewModel
{
    public string Field { get; set; }
}

BuildReportFieldItemViewModel的编辑器

@model BuildReportFieldItemViewModel

<div class="editor-label">
    <label for="@Model.Field">@Model.Field</label>
</div>
<div class="editor-field">
    <input type="text" name="@Model.Field">
</div>

尝试使用隐藏的密钥字段

查看模型

public class BuildReportViewModel
{
    public IList<BuildReportFieldItemViewModel> Fields { get; set; }
}
public class BuildReportFieldItemViewModel
{
    public string Field;
    public string Key;
}

BuildReportFieldItemViewModel的编辑器

@model BuildReportFieldItemViewModel

<div class="editor-label">
    <label for="@Model.Field">@Model.Field</label>
</div>
<div class="editor-field">

    @Html.TextBoxFor(x => x.Field)
    @Html.Hidden(Model.Key, "key_value");
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM