我用母版的生成的内容页实现 ICallbackEventHandler 接口的奇怪问题
我用母版的生成的内容页继承 ICallbackEventHandler 接口,并实现了 RaiseCallbackEvent、GetCallbackResult 接口,但在客户端异步调用没有任何效果。
经过偶对客户端脚本的单步跟踪发现,客户端没有任何问题(XMLHTTP 调用是成功的)。
问题因该是发生在服务器端:为了测试,偶在类里面添加了构造函数并设置中断,发现客户端异步回发服务器时,服务器端的构造函数被执行,说明客户端回发成功,但 .NET 框架却没有调用接口 RaiseCallbackEvent、GetCallbackResult 等方法。
偶实在搞郁闷了,拜托大家没指教一下。
客户端脚本如下:
<script type= "text/javascript ">
function <%= this.ddlArea.ClientID %> _Change(obj)
{
var value = parseInt(obj.value);
var ddlCity = document. <%= this.Form.ClientID + ". " + this.ddlCity.ClientID %> ;
if(isNaN(value))
{
alert(_ScriptError);
return;
}
ddlCity.options.length = 0;
<%= this.ClientScript.GetCallbackEventReference(this, "\ "a\ " ", "__test ", null) %> ;
}
function __test(value)
{
alert(value);
}
</script>
页面源代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Ahcom.Data;
public partial class search_Default : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler
{
TextBox txtSearch;
HiddenField hdnSearch;
Button btnSearch;
string CallBackValue;
public search_Default()
{
}
protected void Page_Load(object sender, EventArgs e)
{
this.Title = "信息库 ";
this.txtSearch = (TextBox)this.Master.FindControl( "txtSearch ");
this.hdnSearch = (HiddenField)this.Master.FindControl( "hdnSearch ");