Button_click中调用ajax,点击之后没有反应,求助!!!

lftlovecjy 2015-03-01 10:51:59
protected void ASPxButton4_Click(object sender, EventArgs e)
{

//ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('请正确输入!');</script>");
//ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>correctpwd()</script>", true);
ScriptManager.RegisterStartupScript(this.ASPxButton4, this.GetType(), "correctpwd", "var xmlhttp;if (window.XMLHttpRequest) {xmlhttp = new XMLHttpRequest();}else {xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');}xmlhttp.open('GET', 'correctpwd.aspx', true);xmlhttp.send();if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {document.getElementById('userlogindiv').innerHTML = xmlhttp.responseText;}", true);

}
//ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('请正确输入!');</script>");这一句是正常显示的
//ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>correctpwd()</script>", true);这一句不知道为啥也是没反应
...全文
565 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lftlovecjy 2015-03-06
  • 打赏
  • 举报
回复
引用 10 楼 Z65443344 的回复:
[quote=引用 5 楼 lftlovecjy 的回复:] [quote=引用 4 楼 starfd 的回复:] 那你为什么不把js代码都写前台呢?
我把correcpwd()的定义写在了js文件里面了,但是百度的时候看别人都是直接写出来的,我就试了试,结果还是不行; 我现在<dx:ASPxButton AutoPostBack="false" ID="ASPxButton4" runat="server" Text="修改密码" OnClick="ASPxButton4_Click" > <ClientSideEvents Click="correctpwd" /> </dx:ASPxButton> 这样写还是没反应[/quote] 如果你把代码写在js文件里面,需要先在页面里引用js文件 不要在后台代码里拼接前台代码[/quote] 额,这点我还是知道的。。。。。
於黾 2015-03-02
  • 打赏
  • 举报
回复
引用 5 楼 lftlovecjy 的回复:
[quote=引用 4 楼 starfd 的回复:] 那你为什么不把js代码都写前台呢?
我把correcpwd()的定义写在了js文件里面了,但是百度的时候看别人都是直接写出来的,我就试了试,结果还是不行; 我现在<dx:ASPxButton AutoPostBack="false" ID="ASPxButton4" runat="server" Text="修改密码" OnClick="ASPxButton4_Click" > <ClientSideEvents Click="correctpwd" /> </dx:ASPxButton> 这样写还是没反应[/quote] 如果你把代码写在js文件里面,需要先在页面里引用js文件 不要在后台代码里拼接前台代码
  • 打赏
  • 举报
回复
correctpwd,调用方法应该是correctpwd() 还有这个js方法也要在页面上能访问到的
lftlovecjy 2015-03-01
  • 打赏
  • 举报
回复
引用 4 楼 starfd 的回复:
那你为什么不把js代码都写前台呢?
我把correcpwd()的定义写在了js文件里面了,但是百度的时候看别人都是直接写出来的,我就试了试,结果还是不行; 我现在<dx:ASPxButton AutoPostBack="false" ID="ASPxButton4" runat="server" Text="修改密码" OnClick="ASPxButton4_Click" > <ClientSideEvents Click="correctpwd" /> </dx:ASPxButton> 这样写还是没反应
  • 打赏
  • 举报
回复
那你为什么不把js代码都写前台呢?
aellonxie 2015-03-01
  • 打赏
  • 举报
回复
你把实际执行的js 写到前台 ScriptManager.RegisterStartupScript 只调用方法名就行,不要这么一大堆都写到后台
lftlovecjy 2015-03-01
  • 打赏
  • 举报
回复
我是新手,思路是点击按钮,然后页面的一部分载入correctpwd.aspx页面;最早用的是button_click = correctpwd(),但是没反应
  • 打赏
  • 举报
回复
这是基于什么思路这么做的?后台代码里面写ajax请求???
  • 打赏
  • 举报
回复
把JS代码写在前台
lftlovecjy 2015-03-01
  • 打赏
  • 举报
回复
我试了一下protected void Page_Load(object sender, EventArgs e) { this.ASPxButton4.Attributes["onclick"] = "correctpwd();"; } 这样调用,这回没有了Uncaught TypeError: Cannot call method 'call' of undefined,但是还是没有反应
lftlovecjy 2015-03-01
  • 打赏
  • 举报
回复
引用 6 楼 starfd 的回复:
correctpwd,调用方法应该是correctpwd() 还有这个js方法也要在页面上能访问到的
我把<script type="text/javascript"> function correctpwd() { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET", "correctpwd.aspx", true); xmlhttp.send(); if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementById("userlogindiv").innerHTML = xmlhttp.responseText; } } </script>这段也写到.aspx文件上了,保证button和correctpwd()在一个页面上了,为啥又多显示了个Uncaught TypeError: Cannot call method 'call' of undefined ?

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧