在mvc4中将数据传递给控制器​​时,Ajax Success Event无效?

时间:2016-01-05 05:46:17

标签: c# angularjs ajax asp.net-mvc twitter-bootstrap

嗨,我的视野中有6个字段。我需要将同一列中的那六个字段保存在同一个单元格中。在表格中保存这6个字段的格式如下所示。

MyView

Need to save the Format

所以我尝试使用Ajax Success事件保存这六个字段。使用Ajax sucess事件我将这六个字段保存在TaxInfoTaxFiled表中(dp_TaxInfoTaxFiled:dataTable)

<script>

    $(document).ready(function () {
        $('#dataTable').DataTable();
    });


    if (isAllValid) {
        var data = {
            TinNo: $('#TinNo').val().trim(),
            CstNo: $('#CstNo').val().trim(),
            //Sorry forgot to add Description Field

            PanNo: $('#PanNo').val().trim(),
            ServiceTaxNo: $('#ServiceTaxNo').val().trim(),
            ExciseRegNo: $('#ExciseRegNo').val().trim(),
            CinNo: $('#CinNo').val().trim(),
            dp_TaxInfoTaxFiled: dataTable
        }

        $(this).val('Please wait...');

        $.ajax({
            url: '/BulkInsertController/Save',
            type: "POST",
            data: JSON.stringify(data),
            dataType: "JSON",
            contentType: "application/json",
            success: function (d) {
                //check is successfully save to database 
                if (d.status == true) {
                    //will send status from server side
                    alert('Successfully done.');
                    //clear form
                    dataTable = [];
                    $('#TinNo').val('');
                    $('#CstNo').val('');
                    $('#PanNo').val('');
                    $('#ServiceTaxNo').val('');
                    $('#ExciseRegNo').val('');
                    $('#CinNo').val('');
                    $('#dataTable').empty();
                }
                else {
                    alert('Failed');
                }
                $('#submit').val('Save');
            },
            error: function () {
                alert('Error. Please try again.');
                $('#submit').val('Save');
            }




        });
    }
</script>
<table id="dataTable" border="0" cellpadding="0" cellspacing="0" style ="background-color : orange">
         
   
    <tr style="border:1px solid black">
          <td>@Html.LabelFor(Model=>Model.TinNo)</td>
        <td>@Html.TextBoxFor(Model=>Model.TinNo , new { id = "TinNo" })</td>
       <td>@Html.HiddenFor(model => model.TinNo, new { id= "FD713788-B5AE-49FF-8B2C-F311B9CB0CC4" })</td>
   </tr>

        <tr style="border:1px solid black">
          <td>@Html.LabelFor(Model=>Model.CstNo)</td>
        <td>@Html.TextBoxFor(Model=>Model.CstNo , new { id = "CstNo" })</td>
       <td>@Html.HiddenFor(model => model.CstNo, new { id= "64B512E7-46AE-4989-A049-A446118099C4" })</td>
   </tr>

        <tr style="border:1px solid black">
          <td>@Html.LabelFor(Model=>Model.PanNo)</td>
        <td>@Html.TextBoxFor(Model=>Model.PanNo , new { id = "PanNo" })</td>
       <td>@Html.HiddenFor(model => model.PanNo,new { id= "376D45C8-659D-4ACE-B249-CFBF4F231915" })</td>
   </tr>

        <tr style="border:1px solid black">
          <td>@Html.LabelFor(Model=>Model.ServiceTaxNo)</td>
        <td>@Html.TextBoxFor(Model=>Model.ServiceTaxNo , new { id = "ServiceTaxNo" })</td>
       <td>@Html.HiddenFor(model => model.ServiceTaxNo,new { id= "2F405521-06A0-427C-B9A3-56B8931CFC57" })</td>
   </tr>

        <tr style="border:1px solid black">
          <td>@Html.LabelFor(Model=>Model.ExciseRegNo)</td>
        <td>@Html.TextBoxFor(Model=>Model.ExciseRegNo, new { id = "ExciseRegNo" })</td>
       <td>@Html.HiddenFor(model => model.ExciseRegNo,new { id= "03ADA903-D09A-4F53-8B67-7347A08EDAB1" })</td>
   </tr>

        <tr style="border:1px solid black">
          <td>@Html.LabelFor(Model=>Model.CinNo)</td>
        <td>@Html.TextBoxFor(Model=>Model.CinNo, new { id = "CinNo" })</td>
          
       <td>@Html.HiddenFor(model => model.CinNo,new { id= "59A2449A-C5C6-45B5-AA00-F535D83AD48B" })</td>
            
   </tr>

  
            
               
    </table>
    <input type="submit" value="Save " />
}

我编写了代码,使用ajax sucess事件在TaxInfoTaxFieldTable中保存这六个字段。我在控制器中编写代码,将那六个字段保存在该表的特定列中。在控制器中,我需要在TaxFieldID和FieldValue列中保存这六个字段。但我在(TaxFieldID = new Guid(ti))重载错误中出错。现在我使用ajax成功事件在TaxInfoTaxfiled表中保存这六个字段。现在我需要的是我需要保存那些特定列中的六个字段。但它显示错误。为此我能做什么。我需要一个解决此错误的方法

   public ActionResult Save()
    {

        List<TaxField> ti = new List<TaxField>();
        List<TaxInfoTaxFiled> ci = new List<TaxInfoTaxFiled> { new   TaxInfoTaxFiled { TaxInfoTaxFieldID = Guid.NewGuid(), TaxFieldID = new Guid(ti), FieldValue = "", } };
        return View(ci);
        //return View();

    }




    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Index(List<TaxInfoTaxFiled> ci)
    {

        ViewBag.TaxFieldID = new SelectList(db.TaxField, "TaxFieldID", "DisplayName");

        if (ModelState.IsValid)
        {
            using (VisitorsEntities dc = new VisitorsEntities())
            {


                foreach (var i in ci)
                {
                    dc.TaxInfoTaxFiled.Add(i);
                }
                dc.SaveChanges();
                ViewBag.Message = "Data successfully saved!";
                ModelState.Clear();
                ci = new List<TaxInfoTaxFiled> { new TaxInfoTaxFiled { TaxInfoTaxFieldID = Guid.NewGuid(), TaxFieldID = new Guid(), FieldValue = "" } };
            }
        }
        return View(ci);

    }

0 个答案:

没有答案