function error(){[native code]}

时间:2015-05-14 05:50:41

标签: javascript c# jquery asp.net

我在c#中有asp.net网站。

在Dropdownlist Onchange()事件中,我正在调用此jquery函数,该函数抛出:

function error(){[native code]}

 <script type="text/javascript">
     function GetDescription(a) {
         alert(a); // the dropdown item selected value
         var id = (!isNaN($(a).val())) ? parseInt($(a).val()) : 0;
         $.ajax({
             type: 'POST',
             contentType: "application/json; charset-8;",
             url: 'WT.aspx/GetRef',
             data: "{ 'id':'" + id + "'}",
             success: function (data) {
                 alert(data);
             },
             error: function (data) {
                 alert(Error);
             }

         });

     }
  </script>

WT.aspx / GetRef


     [WebMethod]
     public string GetRef(int id)
     {
         DataTable dt = new DataTable();
         SqlParameter[] p = new SqlParameter[1];
         p[0] = new SqlParameter("@RefID", id);
         dt = dl.GetDataWithParameters("Sp_WT_GetRef", p);

         string data = dt.Rows[0]["Description"].ToString() +"|"+ dt.Rows[0]["PriceInUSD"].ToString();

         return data;
     }

  

http://localhost:54576/resources/demos/style.css无法加载   资源:服务器响应状态为404(未找到)   http://localhost:54576/AutomobileWebApp/WT.aspx/GetRef无法加载   resource:服务器响应状态为500(Internal Server   错误)http://localhost:54576/resources/demos/style.css无法加载   资源:服务器响应状态为404(未找到)

1 个答案:

答案 0 :(得分:1)

我的第一个建议是将属于[WebMethod]的方法设为静态。

[WebMethod]
 public static string GetRef(int id)
 {
     DataTable dt = new DataTable();
     SqlParameter[] p = new SqlParameter[1];
     p[0] = new SqlParameter("@RefID", id);
     dt = dl.GetDataWithParameters("Sp_WT_GetRef", p);

     string data = dt.Rows[0]["Description"].ToString() +"|"+ dt.Rows[0]["PriceInUSD"].ToString();

     return data;
 }

如果没有问题,请尝试检查您的ajax网址是否正确指向该方法。

url: 'WT.aspx/GetRef',

并检查是否传递'this'作为GetDescription(a)的函数参数。

 <select onchange="GetDescription(this)">
    <option value="1">text1</option>
    <option value="2">text2</option>
    <option value="3">text3</option>
 </select>