我想创建表格,可以按"删除"每行中的按钮删除行中的字典项和"插入"添加包含新字典项的新行,并将其附加到现有字典键和值。
模型结合了两个模型
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中