我正在异步使用$.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,但这也没有帮助。
答案 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);
});
});