0
Answer

Can we send data to controller from view through ajaxscript?

Jaima Joseph

Jaima Joseph

10y
2k
1

Hi,

Please help

Can we send data from View to controller without clicking a button or link, only trough Ajax script function? I want to update my table on onblur or onchange event of a view's table's column textbox

I am using an ajax script to implement this and I am trying to send the data directly to controller through the scriptAnd following is my code:

@foreach (var item in Model)
                        {
                          bool aprv = Convert.ToBoolean(item.Approved);
                          if (aprv)
                          {
                           var totp = item.Quantity * Convert.ToInt32(item.Price);
                          <tr id="myrowID">
                              <td hidden><input type="hidden" id="quotid" value="@item.QuoteId" /></td>
                              <td>
                                  @Html.DisplayFor(modelItem => item.SKUMaster.Name)
                              </td>
                              <td>
                                  @Html.DisplayFor(modelItem => item.SKUMaster.PackagingType)
                              </td>
                              <td>
                                  @*@Html.DisplayFor(modelItem => item.Quantity)*@

                                  @Html.DisplayFor(modelItem => item.SKUMaster.Manufacturer)
                              </td>
                              <td>
                                  <input type="text" id="itemPrice" name="itemPrice" [email protected] onblur="onPriceChange()"/>
                              </td>
                             <td>
                                  <input type="text" id="itemQuantity" name="itemQuantity" value="@item.Quantity" />
                             </td>
                             <td>
                                  <label>@totp</label>
                             </td>
                             <td>
                                  @Html.DisplayFor(modelItem => item.SupplierMaster.SupplierName)
                             </td>
                             <td class="list1">
                                 <a href="#" target="_top">
                                 <img src="~/images/list.png" class="list1" width="17" title="List" height="16" alt="" />
                                 </a>
                             </td>
                       </tr>

                        }

                      }

<script type="text/javascript" language="javascript">
        function onPriceChange() {
        var tr = $('#ApprovedTable tr').parent().find('tr:first');
        var Price = tr.find("#itemPrice").val();
        var Quantity = tr.find("#itemQuantity").val();
        var QuoteId = tr.find("#quotid").val();
        alert(QuoteId+ Quantity+Price);
        $.ajax({
            url:'/Quot/EditQuot',
            data:{id:'QuoteId',price:'Price',qty:'Quantity'},
            type:"POST",
            dataType:"json",
            traditional:true,
            //contentType:'application/json; charset=utf-8',
            success: function (data){
                alert(data);
            }
        });
    };

</script>

Thanks in advance