0

我正在异步使用以下$.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
        }
    }
}

我只是将响应绑定到带有自定义属性的 Asp.Net labell(放置在中继器内)tc_id,labelStatus 没有更新。

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

我尝试禁用转发器的 ViewState 以及lblStatus,但这也无济于事。

4

1 回答 1

0

我会将处理响应的代码移动到ashx 文件(通用处理程序)

但是你说你正确地得到了响应,你什么时候准确地调用这个?页面加载后像这样?

 $(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);
            });
    });
于 2013-02-12T22:22:59.393 回答