使用jquery ajax调用控制器方法将错误值传递给方法参数 [英] Call controller method using jquery ajax pass wrong value to method parameter

查看:83
本文介绍了使用jquery ajax调用控制器方法将错误值传递给方法参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在视图中:

in view:

<tbody>
                              @foreach (var item in Model.CallListModel)
                              {
                                  <tr>

                                      <td>
                                          <button onclick="FillCallDetails(@item.CallNumber)" type="button" style="border: none;background-color: white;" data-target="#myModal">
                                              @item.CallNumber
                                          </button>
                                      </td>

                                      @*<td onclick="FillCallDetails(@item.CallNumber)" class="mb-control" data-box="#message-box-warning" style="cursor:pointer">@item.CallNumber</td>*@
                                      <td>@Html.Raw(item.CallLogTime)</td>
                                      <td>@Html.Raw(item.EnggAssignTime)</td>
                                      <td>@Html.Raw(item.FieldActivities)</td>
                                      <td>@Html.Raw(item.Progress)</td>
                                  </tr>
                              }
                          </tbody>







function FillCallDetails(CallNumber) {
          debugger;
          $("#DivCallDetails").html("Please wait...");
          $.ajax({
              type: 'POST',
              url:  '../Master/CallDetails/',
              data: { CallNumber: CallNumber },
              success: function (Response) {
                  // alert(Response);
                  $("#myModal").show();
                  $("#DivCallDetails").html(Response);
              },
              error: function () {
                  alert("Failed");
              }
          });
      }








控制器中






in controller:

public string CallDetails(string CallNumber)
      {
          StringBuilder sb = new StringBuilder();
          if (!string.IsNullOrEmpty(CallNumber))
          {
              SqlParameter[] Param = new SqlParameter[] { new SqlParameter("@CallNumber", SqlDbType.VarChar, 100) };
              Param[0].Value = CallNumber;
              string query = " sp_CallDetails_HpGsem";
              DataTable dt = DataLayer.MasterDashBoardDB.GetDataTable(ConfigurationManager.ConnectionStrings["Hp_server"].ConnectionString, CommandType.StoredProcedure, query, Param);
              if (dt.Rows.Count > 0)
              {

                  sb.Append("<div class='mb-content'>");
                  sb.Append("<p>");

                  if (dt.Rows[0]["SubCaseID"] != DBNull.Value)
                  {
                      sb.Append("Call Number : " + dt.Rows[0]["SubCaseID"] + " <br />");
                  }
                  if (dt.Rows[0]["BranchName"] != DBNull.Value)
                  {
                      sb.Append("Branch : " + dt.Rows[0]["BranchName"] + " <br />");
                  }
                  if (dt.Rows[0]["CustomerName"] != DBNull.Value)
                  {
                      sb.Append("Customer Name : " + dt.Rows[0]["CustomerName"] + " <br />");
                  }
                  if (dt.Rows[0]["CompanyName"] != DBNull.Value)
                  {
                      sb.Append("Customer Name : " + dt.Rows[0]["CompanyName"] + " <br />");
                  }
                 ["UserPhone"] + " <br />");
                  //}
                  if (dt.Rows[0]["Address"] != DBNull.Value)
                  {
                      //  sb.Append("Address : " + dt.Rows[0]["Address"] + " <br />");

                      string Address = "Address : " + dt.Rows[0]["Address"] + "";

                      if (dt.Rows[0]["CityName"] != DBNull.Value)
                      {
                          Address += ", " + dt.Rows[0]["CityName"] + "";
                      }

                      //if (dt.Rows[0]["StateName"] != DBNull.Value)
                      //{
                      //    Address += ", " + dt.Rows[0]["StateName"] + "";
                      //}
                      if (dt.Rows[0]["Pin"] != DBNull.Value)
                      {
                          Address += ", " + dt.Rows[0]["Pin"] + " <br /> ";
                      }
                      sb.Append(Address);
                  }

                  if (dt.Rows[0]["Problem"] != DBNull.Value)
                  {
                      sb.Append("Problem : " + dt.Rows[0]["Problem"] + " ");
                  }
                  sb.Append("</p>");
                  sb.Append("</div>");

              }
          }
          return sb.ToString();
      }





我尝试过:



实际上当我点击CallNumber时它将使用jquery ajax调用方法..

它有效但问题是它将CallNumber的舍入值传递给控制器方法。喜欢我的身份证是412232311-961。所以它将callnumber id传递给像4122334这样的方法。舍入值



What I have tried:

actually when i click on CallNumber it will call method using jquery ajax..
it work but the problem is it is passing the round up value of CallNumber to controller method. like my id is 412232311-961. so it pass callnumber id to method like 4122334 like this. round up value

推荐答案

(#DivCallDetails)。html(Please wait ...);
("#DivCallDetails").html("Please wait...");


。 ajax({
type:'POST',
url:'../Master / CallDetails /',
data:{CallNumber:CallNumber},
success:function(Response) ){
// alert(响应);
.ajax({ type: 'POST', url: '../Master/CallDetails/', data: { CallNumber: CallNumber }, success: function (Response) { // alert(Response);


(#myModal)。show();
("#myModal").show();


这篇关于使用jquery ajax调用控制器方法将错误值传递给方法参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆