ASP.net Web服务方法不工作..?

时间:2015-06-18 13:29:33

标签: c# asp.net web-services webforms

我有Repeater按钮,它会使用Repeater控件显示项目。但我想在鼠标悬停时将数据加载到ImageButton而不是单击图像按钮,因此我尝试使用Web服务方法加载数据。 这是我的<asp:ImageButton ID="ImageButton1" runat="server" CssClass="hoverimgbtn" onmouseover="openalert(this)" value='<%#Eval("categoryid") %>' onmouseout="closealert()"/>

function openalert(i){
        var a = i.value;
 }

我将鼠标上按钮的categoryid值传递给java脚本,如下所示:

 function openalert(i)
 {        
      var a = i.value;        
      var sParam = a; 
      $.ajax({ 
            type: "Post", 
            url: "Brands.aspx/loadSubCategories",
            data: "{s:sParam}", // passing the parameter 
            contentType: "application/json; charset=utf-8", 
            dataType: "json", 
            success: function (msg) {
                $("#divResult").html("success");
                alert('hello');
            },
            error: function (e) {
                $("#divResult").html("Something Wrong.");
                alert(e);
            }
        }); 

    }       

在此之后将i(categoryid)传递给Web服务方法我添加了以下代码:

[WebMethod]                                
 public static void loadSubCategories(string s)
 {
    if (HttpContext.Current != null)
     {
        Page page = (Page)HttpContext.Current.Handler;
         Repeater rep = (Repeater) page.FindControl("RepCateg");
            SqlConnection serviceconn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
            serviceconn.Open();
            string sql = "select categoryname,categoryid from categories where parentcategoryid='" + s + "'";
            SqlDataAdapter dap = new SqlDataAdapter(sql, serviceconn);
            DataTable dt = new DataTable();
            dap.Fill(dt);
            serviceconn.Close();
            rep.DataSource = "";
            rep.DataBind();
            rep.DataSource = dt;
            rep.DataBind();
        }
    }

java脚本和Web服务方法都在单页Brands.aspx

中声明

这是我的web方法,它会将categoryid匹配的项目从类别表加载到Repeater

{{1}}

我无法弄清楚为什么我的webservice方法没有被调用。 我在同一页面上编写了Web服务方法Brands.aspx.cs

0 个答案:

没有答案