Jquery 回发后标签的值丢失

Jquery 回发后标签的值丢失,jquery,asp.net,updatepanel,Jquery,Asp.net,Updatepanel,我有一个包含更新面板的aspx页面。在更新面板内,我有一个中继器。我通过jquery访问repeater中的标签并为它们赋值。但赋值后,该值丢失。我的asp.net aspx页面是 <div class="row"> 在“更新”面板中绑定控件的步骤 var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function () { $('.divrpt').find('[id*=

我有一个包含更新面板的aspx页面。在更新面板内,我有一个中继器。我通过jquery访问repeater中的标签并为它们赋值。但赋值后,该值丢失。我的asp.net aspx页面是

<div class="row">
在“更新”面板中绑定控件的步骤

var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
    $('.divrpt').find('[id*="lblqid"]').hide();
    $('.divrpt').find('[id*="lblOnlyForJQueryQtype"]').hide();
    $('[id*="btnSubmit"]').on("click", function () {
        testAnswer();
    });
    $('[id*="btnNext"]').on("click", function () {
        $('[id*="imageResult"]').hide();
    });
});
以及用于检查值的ajax调用

function testAnswer() {
var qtype, qid;
var record="";
var ansDesc = null;
var tf, ch1, ch2, ch3, ch4;
qid = $('.divrpt').find('[id*="lblqid"]').text();
qtype = $('.divrpt').find('[id*="lblOnlyForJQueryQtype"]').text();
record += qid;
record += "," + qtype;
if (qtype == 1) {
    ansDesc = $('.divrpt').find('[id*="textans"]').val();
    record += "," + ansDesc;
}
else if (qtype == 3) {
    tf = $('.divrpt').find('[id*="rdtrue"]').is(":checked");
    record += "," + tf;
}
else if (qtype == 2) {
    ch1 = $('.divrpt').find('[id*="chk1"]').prop("checked");
    ch2 = $('.divrpt').find('[id*="chk2"]').prop("checked");
    ch3 = $('.divrpt').find('[id*="chk3"]').prop("checked");
    ch4 = $('.divrpt').find('[id*="chk4"]').prop("checked");
    record += "," + ch1;
    record += "," + ch2;
    record += "," + ch3;
    record += "," + ch4;
}
$.ajax({
    type: "POST",
    url: "StudentTest.aspx/answer",
    contentType: "application/json;charset=utf-8",
    data: JSON.stringify({ parameter1: record }),
    success: function (data) {
        if (data.d == "correct") {
            var mks = $('[id$="lblMarks"]').text();
            var marks = ++mks;
            $('[id$="lblMarks"]').text(marks);
            alert($('[id$="ContentPlaceHolder1_lblMarks"]').text());
            $('[id*="imageResult"]').show();
            $('[id*="imageResult"]').html('<p class="text-center"><img src="img/correctAnswer.png" height="50px" width="50px" class="img-circle"/></p>');
        }
        else {
            $('[id*="imageResult"]').show();
            $('[id*="imageResult"]').html('<p class="text-center"><img src="img/wrongAnswer.jpg" height="50px" width="50px" class="img-circle" /></p>');
        }
    }
});
ajax调用成功时为标签分配一个值,但该值丢失。 我不知道为什么会这样。由于更新面板,我已恢复控件。
更新标签后,我们如何保持标签的值。

当您单击“提交”按钮时,页面是否会回发?单击“提交”按钮时,会向服务器发出ajax调用。这些值是从ajax调用中正确获取的,并且这些值被正确地分配给标签。但是之后,当控件到达内部prm.add_endRequest(函数(){值丢失如果Label控件位于UpdatePanel内,则使用jQuery更改的Label控件的值不会在回发过程中保持不变。
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
    $('.divrpt').find('[id*="lblqid"]').hide();
    $('.divrpt').find('[id*="lblOnlyForJQueryQtype"]').hide();
    $('[id*="btnSubmit"]').on("click", function () {
        testAnswer();
    });
    $('[id*="btnNext"]').on("click", function () {
        $('[id*="imageResult"]').hide();
    });
});
function testAnswer() {
var qtype, qid;
var record="";
var ansDesc = null;
var tf, ch1, ch2, ch3, ch4;
qid = $('.divrpt').find('[id*="lblqid"]').text();
qtype = $('.divrpt').find('[id*="lblOnlyForJQueryQtype"]').text();
record += qid;
record += "," + qtype;
if (qtype == 1) {
    ansDesc = $('.divrpt').find('[id*="textans"]').val();
    record += "," + ansDesc;
}
else if (qtype == 3) {
    tf = $('.divrpt').find('[id*="rdtrue"]').is(":checked");
    record += "," + tf;
}
else if (qtype == 2) {
    ch1 = $('.divrpt').find('[id*="chk1"]').prop("checked");
    ch2 = $('.divrpt').find('[id*="chk2"]').prop("checked");
    ch3 = $('.divrpt').find('[id*="chk3"]').prop("checked");
    ch4 = $('.divrpt').find('[id*="chk4"]').prop("checked");
    record += "," + ch1;
    record += "," + ch2;
    record += "," + ch3;
    record += "," + ch4;
}
$.ajax({
    type: "POST",
    url: "StudentTest.aspx/answer",
    contentType: "application/json;charset=utf-8",
    data: JSON.stringify({ parameter1: record }),
    success: function (data) {
        if (data.d == "correct") {
            var mks = $('[id$="lblMarks"]').text();
            var marks = ++mks;
            $('[id$="lblMarks"]').text(marks);
            alert($('[id$="ContentPlaceHolder1_lblMarks"]').text());
            $('[id*="imageResult"]').show();
            $('[id*="imageResult"]').html('<p class="text-center"><img src="img/correctAnswer.png" height="50px" width="50px" class="img-circle"/></p>');
        }
        else {
            $('[id*="imageResult"]').show();
            $('[id*="imageResult"]').html('<p class="text-center"><img src="img/wrongAnswer.jpg" height="50px" width="50px" class="img-circle" /></p>');
        }
    }
});
$('[id*="btnSubmit"]').on("click", function () {
   testAnswer();
});
$('[id*="btnNext"]').on("click", function () {
    $('[id*="imageResult"]').hide();
    $('.divrpt').css("background", "white");
});