随笔-469  评论-947  文章-3  trackbacks-22

.net 2.0 点击按钮用js控制是否回发

点击按钮,对用户输入进行判断,如果用户输入的没有问题,就提交,反之就不能提交,这个可以用下面的js函数来完成
function check()
{
if()
return true;
else
return false;
}
然后给按钮加属性
add_new.Attributes.Add("onclick", "alertCheckbox()");
事情看起来就是这样,但是实际运行会发现无论怎么样,都会回发.经过反复的折腾后发现,应该这样写
add_new.Attributes.Add("onclick", "return alertCheckbox()");
这样如果return false;就不会回发.

我怎么记得以前不用加个return?而且直接用js写的话也不用return,直接函数里就可以.真奇怪

关于vs2005的webproject补丁

貌似这个补丁在方便了编程的同时,也让vs2005丧失了一些优势,比如web文件不能编辑后立刻运行看效果,而必须整个编译下才可以.然后使用附加到aspnet_wp进程的办法进行调试也无效了.
是我的设置问题吗?

posted on 2007-09-19 14:24 Notus|南色的风 阅读(293) 评论(1)  编辑 收藏 所属分类: Happy Programming

评论:
#1楼  2007-09-21 01:44 | s1ihome      
2.0 的button不是有onClientClick么?Better than 1.1, so convenient!
你在cs里写Attributes.Add这个我觉得反而不如OnClientClick有效。button控件会转换成type=submit 的,不return false的话仍然会submit的。

add_new.Attributes.Add("onclick", "return alertCheckbox()");
->
add_new.Attributes.Add("onclick", "return alertCheckbox();");
加上 ; 这个比较保险一些,因为似乎在你用了验证控件之类的之后会自动为button增加js代码,没有这个分号,js执行便出错了

现在打了sp1,建立的也是web application,可能和你打的那两个小补丁还是有点 不一样。现在页面<%Page%>用 codefile代替codebehind也可以不编译刷新就可以看到效果的。
如果你用2005内建的server的话就附加到webserver.xxxx个process就可以,如果是用IIS的话应该是附加到aspnet_wp,不能附加可能是Terminal Services服务没有启动。
  回复  引用  查看    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接: