看下这句话为什么不执行后台的事件 Submit
protected void Submit(object sender, EventArgs e) { //txt_pwd.Attributes.Add("onblur", "Test(this)"); Response.Write("Test"); }
<input id="btn_submit" type="button" value="button" onclick="if(!ajaxsend()){return false;}" runat="server" onserverclick="Submit" />
ajaxsend() 这个方法是前台的
var ajax = null; function ajaxsend() { ajax = new ActiveXObject("Microsoft.XMLHTTP"); if (ajax != null) { ajax.onreadystatechange = Get_Value; ajax.open("GET", "Test.aspx?id=" + escape(document.getElementById("txt_user").value), true); ajax.send(null); } } function Get_Value() { if (ajax.readyState == 4 && ajax.status == 200) { document.getElementById("sp1").innerHTML = ajax.responseText; } }
Test.aspx页面如下:
protected string Id = string.Empty; protected override void Render(HtmlTextWriter writer) { Id = Request["id"] == null ? "" : Request["id"].ToString(); switch (Id) { case "1": Get_Reg1(writer); break; case "2": Get_Reg2(writer); break; } } void Get_Reg1(HtmlTextWriter writer) { string str = "True"; writer.Write(str); }
2 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
事件触发顺序搞错了,先执行onclick 然后才是onserverclick 你客户端代码onclick 中 retrun false,自然不会触发服务端代码 onserverclick
手掌心
TA贡献1942条经验 获得超3个赞
我告诉你个方法,你下载一个 Fiddler ,打开它,然后点击的页面,看看你这个请求
ajax.open("GET", "Test.aspx?id=" 到底执行了没有。
- 2 回答
- 0 关注
- 320 浏览
添加回答
举报
0/150
提交
取消