是否可以动态添加/删除字典项?

时间:2018-04-04 06:39:21

标签: c# jquery asp.net-mvc

我想创建表格,可以按"删除"每行中的按钮删除行中的字典项和"插入"添加包含新字典项的新行,并将其附加到现有字典键和值。

模型结合了两个模型

    namespace myproject.Models
    {
        public class ProjectAndStudentModels
        {
            public Project project { get; set; }
            public Dictionary<int,string> StudentsAndID { get; set; }
        }
    }

查看

        @model myproject.Models.ProjectAndStudentModels
        @using (Html.BeginForm("Edit", "Home", FormMethod.Post))

        <table id="myTable">
           <td><input type="button" value="insert" /></td>
     @for (var i = 0; i < Model.StudentsAndID.Count; i++)
                {
                    var item = StudentsAndID.Count.ElementAt(i);
            <tr>
           <td><input type="button" value="Delete" />
           </td>
            <td> 
            <input type="text" name="example[@i].Value" value="@item.Value" class="input-sm dictionary" />
            </td>
            <td> 
            <input type="text" name="example[@i].Key" value="@item.Key" class="input-sm dictionary" />
           <input type="button" value="-" class="btn btn-danger removeStudent" onclick="removeStu(@i)">

        </tr>
        }
 <tr><td>
 @Html.LabelFor(model => model.project.Year, "Year", new { @style = "display:inline-block" })
 @Html.EditorFor(model => model.project.Year, new { htmlAttributes = new { @Name = "Year", @class = "input-sm" } })
 @Html.ValidationMessageFor(model => model.project.Year)
 </td></tr>
<tr><td> <input type="submit" value="submit"></td> </tr>
</table>
   }

jquery代码类似

    function removeStu(j) {
        $("[name='example[" + j + "].Key']").remove();
        $("[name='example[" + j + "].Value']").remove();       
    }
 function add (){

}

如何在保持增加@i索引的情况下将新添加的输入项添加到字典中? 例如,如果字典计数为5,则新添加的项必须为示例[6]

我是通过传递字典索引(@j)在jquery中完成的,但是如何将它添加到模型中的字典中不仅仅是在html中

0 个答案:

没有答案