Ajax回调不会更新标签

时间:2013-02-12 19:35:17

标签: asp.net jquery repeater

我正在异步使用$.get方法调用AjaxCallHandler.aspx页面。

        $.get("AjaxCallHandler.aspx?tc_id=" + tc_id, function (response) {
            //get All lblStatus
            var sel = "span[tc_id=" + tc_id + "]";
            //alert($(sel).text() + "  " + response);
            $(sel).text(response);
        });

AjaxCallHandler页面根据tc_id is even or odd返回通过/失败

public partial class AjaxCallHandler : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var str = Request.QueryString["tc_id"] != null ? Request.QueryString["tc_id"] as string : string.Empty;
        int tc_id;
        if (int.TryParse(str, out tc_id))
        {
            Response.Clear();            //clears the existing HTML
            Response.ContentType = "text/plain";  //change content type
            if (tc_id % 2 == 0)
                Response.Write("Pass");    //writes out the new name 
            else
                Response.Write("Fail");
            Response.End();             //end
        }
    }
}

我只是使用自定义属性tc_id将响应绑定到Asp.Net lablel(放置在转发器内),labelStatus不会更新。

请注意,我在Chrome控制台上执行$(sel).text(response);时看到值已更新。

我尝试禁用转发器和lblStatus的ViewState,但这也没有帮助。

1 个答案:

答案 0 :(得分:0)

我会将处理响应的代码移动到ashx file (Generic Handler)

但是你说你正确地得到了答案,你什么时候准确地说这个?页面加载后这样?

 $(function () {
       $.get("AjaxCallHandler.aspx?tc_id=" + tc_id, function (response) {
                //get All lblStatus
                var sel = "span[tc_id=" + tc_id + "]";
                //alert($(sel).text() + "  " + response);
                $(sel).text(response);
            });
    });