我是学习asp.net MVC的新手。我写作是因为我对一个问题很顽固。实际上,我有一个应用程序,应该允许我创建一个将添加到数据库的XML文件。此时,我创建了我的模型,以及允许我创建XML标记的视图。
我在这个网站上看到可以通过Javascript在我的表中添加行。正如您在代码中看到的那样我做了什么。
我无法恢复每行可以插入的值。将我自己创建的列表传递给我。我可以恢复插入控制器的两个输入。
我的问题是,还有另一种方法可以通过javascript创建动态线条,然后用户进入恢复的所有条目并填写我的列表?然后我知道自己如何玩我的清单。但我只想恢复用户插入的所有不同行。我是ASP.NET MVC的新手。有任何帮助,请
这是我的代码。
模型
public class XMLFile
{
public string TypeDoc { get; set; }
public string Type { get; set; }
public string Contenu { get; set; }
public string DocName { get; set; }
}
这是我的控制者:
public class XMLFileController : Controller
{
List<XMLFile> file = new List<XMLFile>();
[HttpGet]
public ActionResult Save()
{
file.AddRange( new XMLFile[] {
new XMLFile (){Type = "Titre", Contenu = "Chef de Service"},
new XMLFile (){Type = "Item", Contenu="Docteur Joel"}
});
return View(file);
}
[HttpPost]
public ActionResult Save(List<XMLFile> formCollection)
{
try
{
if (formCollection == null)
{
return Content("la liste est nulle");
}
else
{
return RedirectToAction("Create", "Layout");
}
}
catch
{
return View();
}
}
}
我的视图带有添加新行的脚本:
@using (Html.BeginForm("Save", "XMLFile", FormMethod.Post,new { @class = "form-horizontal", @role = "form", @id = "FormCreateXML" }))
{
<table class="table table-bordered" id="XMLFileTable">
<thead>
<tr>
<th>Type</th>
<th>Contenu</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
@for (int i = 0; i<Model.Count; i++)
{
<tr>
<td>@Html.TextBoxFor(model=>model[i].Type, new {@class="form-control help-inline", @placeholder="type" })</td>
<td> @Html.TextBoxFor(model=>model[i].Contenu, new {@class="form-control help-inline", @placeholder="contenu" })</td>
<td> <input type="button" class="BtnPlus" value="+" /> </td>
<td> <input type="button" class="BtnMinus" value="-" /> </td>
</tr>
}
</tbody>
<tfoot>
<tr>
<td> <button type="submit" class="btn btn-success" >Save</button> </td>
</tr>
</tfoot>
</table>
}
</body>
<script type="text/javascript">
$(document).ready(function () {
function addRow() {
var html = '<tr>' +
'<td><input type="text" class="form-control" placeholder="type"></td>' +
'<td> <input type="text" class="form-control" placeholder="contenu"></td>' +
'<td> <input type="button" class="BtnPlus" value="+" /> </td>' +
'<td> <input type="button" class="BtnMinus" value="-" /></td>' +
'</tr>'
$(html).appendTo($("#XMLFileTable"))
};
function deleteRow() {
var par = $(this).parent().parent();
par.remove();
};
$("#XMLFileTable").on("click", ".BtnPlus", addRow);
$("#XMLFileTable").on("click", ".BtnMinus", deleteRow);
});
</script>