日期:2014-05-17  浏览次数:20436 次

在JS中利用$.ajax()跳转到后台的一个方法中,response.write()就不能用了
这是部分JS代码:

$.ajax({
    type:"Post",
    url:"DepartmentList.aspx/deleteDepartment",
    //data: "{ids:111}", //传值这里暂且不管,但我想知道不直接传这种定好的值,而是传一个变量怎么写。
    contentType:"application/json;charset=utf-8",
    dataType: "json",   
        success: function(data) {   
                //返回的数据用data.d获取内容   
                alert(data.d);//测试过后,这里的回调函数弹框了,说明跳转成功。                  
            }

});



//下面这个是后台的部分代码,跳转到的那个静态方法

 [WebMethod]
    public static string deleteDepartment()
    {
        /*在这里面的response.write()没有用了,网上查了一下试着用下面注释的方法也没用*/
        //HttpResponse Response = new HttpResponse();
        //Response.Write("经过了这个方法!!!"); 
        //HttpContext.Current.Response.Write("经过这里!!!");

        return "成功了!!!";     
    }



求大神支招,在静态方法里面怎么使用response.write()和关于response的一系列方法成功,因为我要用response的相关方法打印值进行测试,还要用response.Redirect("")进行跳转页面。

或者做过类似程序的人告诉我一下,怎么从前台JS中跳转到后台自己定义的一个方法中,而不是在默认的PageLoad中。

------解决方案--------------------
这方法很多啊。有JQ的ajax,有ajaxpro控件。还有webservice。。
------解决方案--------------------
引用:
这是部分JS代码:

C# code

    $.ajax({
        type:"Post",
        url:"DepartmentList.aspx/deleteDepartment",
        //data: "{ids:111}", //传值这里暂且不管,但我想知道不直接传这种定好的值,而是传一个变量怎么写。
        contentTyp……

你静态方法里面的打印测试可以用添加断点调试来解决
还有跳转的话  这里你都要ajax来访问了  我不知道你为啥要再static方法里面跳转,可以根据ajax的返回值再相应的js代码里面跳转