C# 使用jQuery调用asp方法后如何更改按钮类?

C# 使用jQuery调用asp方法后如何更改按钮类?,c#,jquery,asp.net,json,C#,Jquery,Asp.net,Json,我有一个aspx网页,其中包含他们在运行时创建的500个按钮(input type=“button”)。每个按钮都有这样一个类:ButtonButtonGreen,我用jQuery调用click方法。我的问题是:在完成从服务器回发到客户端并更改按钮类后,如何更改按钮类? 这是我的代码: <script type="text/javascript"> $(document).ready(function() { $(".button").click(funct

我有一个aspx网页,其中包含他们在运行时创建的500个按钮(input type=“button”)。每个按钮都有这样一个类:ButtonButtonGreen,我用jQuery调用click方法。我的问题是:在完成从服务器回发到客户端并更改按钮类后,如何更改按钮类?
这是我的代码:

<script type="text/javascript">

    $(document).ready(function() {
        $(".button").click(function() {
            var sid = '<%= Request.QueryString["SID"] %>';
            var m = '<%= Request.QueryString["M"] %>';
            var row = $(this).attr("value");
            var col = $(this).attr("SkinID");
            var classs = $(this).attr("class");

            $(this).attr("class", "button load");


            var DTO = {
                'sid': sid,
                'm': m,
                'row': row,
                'col': col
            };
            $.ajax({

                type: "POST",
                url: "WebService.asmx/AddChairs",
                contentType: "application/json; charset=utf-8",
                data: JSON.stringify(DTO),
                success: function(response) {
                    var classs = $(this).attr("class");
                    $(classs).attr("class", "button button-blue");
                },
                error: function(response) {
                    alert(response.d)
                }

            });
        });

    });
</script>

$(文档).ready(函数(){
$(“.button”)。单击(函数(){
var-sid='';
var m='';
var行=$(this.attr(“值”);
var col=$(this.attr(“SkinID”);
var classs=$(this.attr(“类”);
$(this.attr(“类”,“按钮加载”);
var DTO={
“sid”:sid,
“m”:m,
“行”:行,
“col”:col
};
$.ajax({
类型:“POST”,
url:“WebService.asmx/AddChairs”,
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.stringify(DTO),
成功:功能(响应){
var classs=$(this.attr(“类”);
$(classs).attr(“类”,“蓝色按钮”);
},
错误:函数(响应){
警报(response.d)
}
});
});
});

注意:当我在java脚本代码上设置断点并选中$(this)时,vs显示这是未定义的。原因是什么?

问题在于成功回调中的此没有指向单击的按钮,解决方案是使用一个闭包变量
$btn
,如下所示

$(document).ready(function () {
    $(".button").click(function () {
        //AddChairs();
        //return false;
        var $btn = $(this);
        var sid = '<%= Request.QueryString["SID"] %>';
        var m = '<%= Request.QueryString["M"] %>';
        var row = $btn.attr("value");
        var col = $btn.attr("SkinID");
        var classs = $btn.attr("class");

        $btn.attr("class", "button load");


        var DTO = { 'sid': sid, 'm': m, 'row': row, 'col': col };
        $.ajax({

            type: "POST",
            url: "WebService.asmx/AddChairs",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(DTO),
            success:
            function (response) {
                var classs = $btn.attr("class");
                $(classs).attr("class", "button button-blue");
                //$(".loader").removeClass("class");
                //if (response.d.mood) {
                //    //                        $("#a_countOrderDetail").html(response.d.value);

                //    $(this).attr("class", "button button-blue");
                //    alert(response.d.msg);
                //}
                //else {
                //    $(this).removeAttr("class");
                //    $(this).attr("class",classs );
                //    alert(response.d.msg);
                //}
            },
            error:
            function (response) {
                alert(response.d)
            }

        });
    });



    //$(document).on('click', '.button.load', function() {
    //AddChairs();
    //return false;
    //        ajaxFileUpload(1234)
    //var sid = '<%= Request.QueryString["SID"] %>';
    //var m = '<%= Request.QueryString["M"] %>';
    //var row = $(this).attr("value");
    //var col = $(this).attr("SkinID");
    //var classs = $(this).attr("class");
    //$(this).removeAttr("class");
    //$(this).attr("class", "button load");


    //var DTO = { 'sid': sid, 'm': m, 'row': row, 'col': col };
    //$.ajax({

    //type: "POST",
    //url: "WebService.asmx/AddChairs",
    //contentType: "application/json; charset=utf-8",
    //data: JSON.stringify(DTO),
    //        success:
    //            function (response) {
    //                if (response.d.mood) {
    //                    //                        $("#a_countOrderDetail").html(response.d.value);
    //                    $(this).removeClass("load");
    //                    $(this).addClass("class", "button button-blue");
    //                    alert(response.d.msg);
    //                }
    //                else {
    //                    $(this).removeClass("load");
    //                    $(this).addClass("class", classs);
    //                    alert(response.d.msg);
    //                }
    //            },
    //        error:
    //            function (response) {
    //                alert(response.d)
    //            }

    //    });
    //});

});
$(文档).ready(函数(){
$(“.button”)。单击(函数(){
//AddChairs();
//返回false;
var$btn=$(本);
var-sid='';
var m='';
var行=$btn.attr(“值”);
var col=$btn.attr(“SkinID”);
var classs=$btn.attr(“类”);
$btn.attr(“类”、“按钮加载”);
var DTO={'sid':sid,'m':m,'row':row,'col':col};
$.ajax({
类型:“POST”,
url:“WebService.asmx/AddChairs”,
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.stringify(DTO),
成功:
功能(响应){
var classs=$btn.attr(“类”);
$(classs).attr(“类”,“蓝色按钮”);
//$(“.loader”).removeClass(“类”);
//如果(回应d.情绪){
////$(“#a#u countOrderDetail”).html(response.d.value);
//$(this.attr(“类”,“蓝色按钮”);
//警报(response.d.msg);
//}
//否则{
//$(此).removeAttr(“类”);
//$(this.attr(“类”,classs);
//警报(response.d.msg);
//}
},
错误:
功能(响应){
警报(response.d)
}
});
});
//$(document).on('click','button.load',function(){
//AddChairs();
//返回false;
//ajaxFileUpload(1234)
//var-sid='';
//var m='';
//var行=$(this.attr(“值”);
//var col=$(this.attr(“SkinID”);
//var classs=$(this.attr(“类”);
//$(此).removeAttr(“类”);
//$(this.attr(“类”,“按钮加载”);
//var DTO={'sid':sid,'m':m,'row':row,'col':col};
//$.ajax({
//类型:“POST”,
//url:“WebService.asmx/AddChairs”,
//contentType:“应用程序/json;字符集=utf-8”,
//数据:JSON.stringify(DTO),
//成功:
//功能(响应){
//如果(回应d.情绪){
////$(“#a#u countOrderDetail”).html(response.d.value);
//$(此).removeClass(“加载”);
//$(this.addClass(“类”,“蓝色按钮”);
//警报(response.d.msg);
//                }
//否则{
//$(此).removeClass(“加载”);
//$(this).addClass(“class”,classs);
//警报(response.d.msg);
//                }
//            },
//错误:
//功能(响应){
//警报(response.d)
//            }
//    });
//});
});
试试这个:

$(document).ready(function () {
        $(".button").click(function () {
            //AddChairs();
            //return false;
            var this_button=$(this);
            var sid = '<%= Request.QueryString["SID"] %>';
            var m = '<%= Request.QueryString["M"] %>';
            var row = $(this).attr("value");
            var col = $(this).attr("SkinID");
            var classs = $(this).attr("class");

            $(this).attr("class", "button load");


    var DTO = { 'sid': sid, 'm': m, 'row': row, 'col': col };
        $.ajax({

            type: "POST",
            url: "WebService.asmx/AddChairs",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(DTO),
            success:
                function (response) {
                    this_button.removeClass('class_name_to_remove');
                    this_button.addClass('class_name_to_add');

                    //$(".loader").removeClass("class");
                    //if (response.d.mood) {
                    //    //                        $("#a_countOrderDetail").html(response.d.value);

                    //    $(this).attr("class", "button button-blue");
                    //    alert(response.d.msg);
                    //}
                    //else {
                    //    $(this).removeAttr("class");
                    //    $(this).attr("class",classs );
                    //    alert(response.d.msg);
                    //}
            },
            error:
                function (response) {
                    alert(response.d)
            }

        });
        });



    //$(document).on('click', '.button.load', function() {
    //AddChairs();
    //return false;
    //        ajaxFileUpload(1234)
    //var sid = '<%= Request.QueryString["SID"] %>';
    //var m = '<%= Request.QueryString["M"] %>';
    //var row = $(this).attr("value");
    //var col = $(this).attr("SkinID");
    //var classs = $(this).attr("class");
    //$(this).removeAttr("class");
    //$(this).attr("class", "button load");


    //var DTO = { 'sid': sid, 'm': m, 'row': row, 'col': col };
    //$.ajax({

        //type: "POST",
        //url: "WebService.asmx/AddChairs",
        //contentType: "application/json; charset=utf-8",
        //data: JSON.stringify(DTO),
//        success:
//            function (response) {
//                if (response.d.mood) {
//                    //                        $("#a_countOrderDetail").html(response.d.value);
//                    $(this).removeClass("load");
//                    $(this).addClass("class", "button button-blue");
//                    alert(response.d.msg);
//                }
//                else {
//                    $(this).removeClass("load");
//                    $(this).addClass("class", classs);
//                    alert(response.d.msg);
//                }
//            },
//        error:
//            function (response) {
//                alert(response.d)
//            }

//    });
//});

});
$(文档).ready(函数(){
$(“.button”)。单击(函数(){
//AddChairs();
//返回false;
var this_按钮=$(this);
var-sid='';
var m='';
var行=$(this.attr(“值”);
var col=$(this.attr(“SkinID”);
var classs=$(this.attr(“类”);
$(this.attr(“类”,“按钮加载”);
var DTO={'sid':sid,'m':m,'row':row,'col':col};
$.ajax({
类型:“POST”,
url:“WebService.asmx/AddChairs”,
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.stringify(DTO),
成功:
功能(响应){
这个按钮.removeClass('class_name_to_remove');
这个按钮是addClass('class_name_to_add');
//$(“.loader”).removeClass(“类”);
//如果(回应d.情绪){
////$(“#a#u countOrderDetail”).html(response.d.value);
//$(this.attr(“类”,“蓝色按钮”);
//警报(response.d.msg);
//}
//否则{
//$(此).removeAttr(“类”);
//$(this.attr(“类”,classs);
//警报(response.d.msg);