创建操作调用了保存数据的create动作

时间:2014-05-29 10:59:44

标签: jquery asp.net asp.net-mvc twitter-bootstrap asp.net-mvc-5

当您生成MVC5应用程序时,您在控制器2中创建了如下所示的操作

   //   GET: Roles/Create
    public ActionResult Create()
    {
        return View();
    }

这就是帖子的实际行动

[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "Id,name,checkBox1,checkBox2,checkBox3")] Role role)
    {
        if (ModelState.IsValid)
        {
            db.Roles.Add(role);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        return View(role);
    }

当我按下索引视图中的时,我想拨打第二个,我该怎么办?我尝试将此代码放在索引视图中,这是从创建视图中保存的按钮,但它不起作用。有什么想法吗?

<div class="form-group">
    <div class="col-md-offset-2 col-md-10">
        <input type="submit" value="Save" class="btn btn-default" />
    </div>
</div> 

更新

目前我把按钮放在这样的元素上(在字符串的末尾,这是创建按钮,但我在UI上看到它但是当我点击它时注意到了

var html = '<tr><td>@Html.TextBox("Name")</td><td>@Html.CheckBox("checkBox1")</td><td></td><td><input type="submit" value="Create" class="btn bt

这是我的所有观看代码

<script src="../../Scripts/jquery-1.10.2.min.js"></script>



<script>

    $(document).ready(function () {






    //Append new row



    var html = '<tr><td>@Html.TextBox("name")</td><td>@Html.CheckBox("checkBox1")</td><td>@Html.CheckBox("checkBox2")</td><td>@Html.CheckBox("checkBox3")</td><td><input id="btnsubmit" type="submit" value="Create" class="btn btn-default" /></td><td></tr>';


</script>



<input type="button" value="Add Row" onclick="addRow()" class="data-button" id="add-row" />


<table class="table" >
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.name)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.checkBox1)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.checkBox2)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.checkBox3)
        </th>
        <th></th>
    </tr>

    <tbody id="data-table">
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.name)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.checkBox1)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.checkBox2)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.checkBox3)
                </td>
                <td>
                    @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
                    @Html.ActionLink("Details", "Details", new { id = item.Id }) |
                    @Html.ActionLink("Delete", "Delete", new { id = item.Id })
                </td>
            </tr>
        }
    </tbody>



</table>

1 个答案:

答案 0 :(得分:2)

您可以向提交按钮添加点击处理程序,并使用Ajax发布到您的操作,为其提供URL和数据。在按钮上添加ID,然后尝试以下操作。

$('#btnSubmit').click(function() {
   $.ajax({
       type: 'POST',
       url: '@Url.Action("Create", "YourControllerName")'
       // Not sure if you will have to supply the data since you have bound the controls 
       // in your action
   }); 
});