用表的值填充列表

时间:2014-12-01 08:43:17

标签: asp.net-mvc asp.net-mvc-4

我是学习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>

0 个答案:

没有答案