我想在索引视图的表中编辑数据

时间:2019-04-22 05:58:59

标签: c# asp.net-mvc

我想编辑我的View表,实际上我希望表中的某些字段可编辑,因此在这种情况下,我在自己的控件中使用了文本框,但是当单击EDIT按钮时,仍然没有在控制器中传递任何文本框值,最后我为此目的使用jquery函数,但是我没有在控制器中获得编辑后的值。这里有人帮助我进行整理吗? 提前致谢。 这是我的控制器:

   public ActionResult Edit(int id)
       {
            OpeningVoucher model = new OpeningVoucher();
            var vob = _dbcon.v_dvch_opening.FirstOrDefault(x => x.acc_no == id);
            model.acc_no = id;
            model.dvch_dr_famt = Convert.ToDouble(vob.dvch_dr_famt);
            model.dvch_cr_famt = Convert.ToDouble(vob.dvch_cr_famt);
            model.dvch_dr_amt = Convert.ToDecimal(vob.dvch_dr_amt);
            model.dvch_cr_amt = Convert.ToDecimal(vob.dvch_cr_amt);
            model.mvch_rat = Convert.ToDouble(vob.mvch_rat);

            return View("Index", model);




        }
        [HttpPost]
        public ActionResult Edit(OpeningVoucher model)
        {
            if (ModelState.IsValid)
            {
                var com = _dbcon.v_dvch_opening.FirstOrDefault(x => x.acc_no == model.acc_no);
                com.mvch_rat =com.mvch_rat;
                com.dvch_cr_famt = model.dvch_cr_famt;
                com.dvch_dr_amt =model.dvch_dr_amt;
                _dbcon.SaveChanges();
                return RedirectToAction("Index");
            }
            return View("Index", model);

        }

我的代码是: 鉴于我这样做:

 <th>
     @Html.DisplayName("Debit")
 </th>
 <th>
     @Html.DisplayName("Credit")
 </th>
 @foreach (var item in Model)
 {
     <td>
         @Html.EditorFor(model => item.dvch_dr_famt, new { htmlAttributes = new { @class = "form-control" } })

     </td>
     <td>
         @Html.EditorFor(model => item.dvch_cr_famt, new { htmlAttributes = new { @class = "form-control" } })
     </td>
}

当我使用Jquery时:

<script>
    $('.edit').click(function () {
        var row = $(this).closest('tr');
        row.toggleClass('isediting'); // add a style to highlight the row
        var isediting = row.hasClass('isediting');
        $(this).parent('td').siblings('td').prop('contenteditable', isediting);
        if (isediting) {
            $(this).text('update');
        } else {
            $(this).text('edit');
        }
    })
</script>

enter image description here

enter image description here

0 个答案:

没有答案