Button1.Attributes.Add("onclick", "javascript:alert('ERROR');")不工作啦,请问是不是一定在放在page_load才行啊。我没有放在那里,点
在page_load里写
Button1.Attributes("onclick")="javascript:alert('Error')"
Button1.Attributes("onclick")="javascript:alert('Error')"
解决方案 »
- ExtJs动态为CheckboxGroup增加选项后如何让form.getValues能正常工作?
- 如何解觉绑定时使用三元运算符?
- 问一个 sql问题 很急 ,很简单. 答对就送分(100)
- 调查:各位同行使用ajax技术时,是用magicajax,ajaxpro,还是AjaxControlToolkit,或者是最原始的做法,不用工具包,全部自己写??
- 求设计思路
- ASP.NET中文本框取到系统当前时间后,怎么做出走动效果?用脚本怎么实现?
- 最近接了个项目,请大家评价一下!
- 如何获取DetailsView中某一项的值
- 在ASP上很容易的东西,在ASP.NET里却无法实现了,真是奇怪了,高手快进呀!!!
- 简单的网页设计问题,那位近来帮个忙,多谢了
- 找不到类型或命名空间名称“SqlDataSetCommand"
- 关于Response.ContentType问题?
点提交已触发了 onclick 事件,然后再给它加Button1.Attributes.Add("onclick", "javascript:alert('ERROR');")
此时click事件已经发生过了,所以没有用。
Page.RegisterStartupScript("loginerror", "<script language=JavaScript>alert('ERROR');</script>")
Response.Write("<script language=javaScript>alert('Error')<script>");
就行了,上面的方法不适用!
return;
在page_load里写
Button1.Attributes("onclick")="javascript:alert('Error')"这不行啊,这样一点就出来对话框了,如果正确就不出来啊
Page.RegisterStartupScript("loginerror", "<script language=JavaScript>alert('ERROR');</script>")这"loginerror" 是什么值呀?可以说一下吗?谢谢
问题是这样的,一个页面上有一个服务器控件的Button,为什么在Page_Load里加上了
Button1.Attributes["onclick"]="javascript:return window.confirm('请确定输入无误?');";
却弹不出确认对话框。
因为是在msn上交流的,我给他测试了一下,语句没有一点问题,还以为是.net framework出了问题。不过一想这主要是用javascript,问题不应该出在framework上。
Button服务器控件发送到客户端后的html标记为
<input type="submit" name="Button1" id="Button1" value="Button"/>
上面那条语句的原理也就是发送到客户端后在input标记中加入
onclick="javascript:return window.confirm('请确定输入无误?');"
以弹出确认对话框
我让他通过“查看源文件”,得到了发送到客户端的button标记
<input type="submit" name="Button1" value="Button" onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " language="javascript" id="Button1" onclick="javascript:return window.confirm('请确定输入无误?');"/>
发现其中有两个onclick事件,仔细一问把原因搞清楚了
他在页面上还有一个RequiredFieldValidator,而RequiredFieldValidator的原理也是给所有CausesValidation="True"的Button加上
onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); "
因此,出现了两个onclick,IE只响应了第一个onclick。如果把Button设为CausesValidation="False",确认对话框就可以弹出来了。
现在问题变成了在一个带有RequiredFieldValidator的页面上,怎么让CausesValidation="True"的按钮弹出确认对话框
我做了第一次尝试,在一个新的页面,用下面的语句测试
Button2.Attributes["onclick"]="alert('Sure!');";
Button2.Attributes["onclick"]+="javascript:return window.confirm('请确定输入无误?');";
发送到客户端后为
<input type="submit" name="Button2" value="Button" id="Button2" onclick="javascript:alert('Sure!');return window.confirm('请确定输入无误?');" />
也就是两个onclick语句合到了一起
但是,我想用相应的方法时加到Button1时
Button1.Attributes["onclick"]+="javascript:return window.confirm('请确定输入无误?');";
很遗憾,还是出现两个onclick,这么做还是不行。我想这可能是RequiredFieldValidator的特殊机制吧。
又仔细看了一下RequiredFieldValidator控件的原理,在一个含有RequiredFieldValidator控件的页面上,RequiredFieldValidator控件发送到客户端后生成一些javascript函数,CausesValidation="True"的Button只比CausesValidation="False"的Button多了一句onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); ",即调用相应的javacript代码在客户端验证,明白了这点
我又做了如下修改
把Button1设CausesValidation="False",在Page_Load里
Button1.Attributes["onclick"]="javascript:if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();return window.confirm('请确定输入无误?');";
这一次成功了,既弹出了确认对话框,也进行了RequiredFieldValidator的验证
不过这样的话每次都要弹出确认对话框,我想进一步改进,让它先进行RequiredFieldValidator的验证,如果通过,再弹出对话框,又稍稍做了如下修改
Button1.Attributes["onclick"]="javascript:if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();if(Page_ClientValidate()) return window.confirm('请确定输入无误?');";
using System.Windows.Forms;.....
MessageBox.Show("确定无误?");