刚才在做.net中,在页面前台写了两个方法,showModeBox(),closeModeBox()。这两个方法分别是显示和关闭模态对话框(这个我是用DIV层模拟的),想在前台某个按钮被单击的时候,触发JS中的showModeBox()方法。于是,我就给页面添加了一个ImageButton控件,并在给它的OnClientClick属性添加了showModeBox()这个JS方法,然后测试,这时候,奇怪的现象出现了,就是当单击这个ImageButton控件时候,模态对话框一闪而过,就是出现了,马上又关闭了。我以为是ImageButton控件不支持,然后我又换了LinkButton控件,也在OnClientClick属性添加了showModeBox()这个JS方法,测试后,和前者问题一样。于是我又在后台Page_Load事件上加上 //控件ID.Attributes.Add("onClick", "showModeBox();");然后测试,结果一样,这个我就汗颜了。。
最后,我在JW里用 <input type="button" value="显示模态对话框" onClick="showModeBox()"/> 这句代码实现了想要的效果,单击显示,并没有一闪而过。
但是,这个按钮的样式太难看,我想用ImageButton控件实现我想要的效果,请教高人是哪里出的问题,为什么ImageButton控件或LinkButton控件的OnClientClick属性调用JS方法会出现这个奇怪现象。PS:在我用mageButton控件实验的时候,我发现,每当我单击一下,浏览器下面的加载条就重新加载了一次(刷新)了,是不是这个导致的??

解决方案 »

  1.   

    如果非要实现按钮的好看,你可以通过CSS样式美化按钮的样式
      

  2.   

    请问这个<input type="button" 控件怎样用CSS美化??貌似设置了Class 属性还是没效果!
      

  3.   

    调用JS别用服务器控件,每次回发可不是出现你那种情况吗?input可以用CSS美化啊置了Class 属性后要定义你设置的样式
      

  4.   

    首先:
    <input type="button"
    这个标签用CSS美化一点效果都没,
    然后,
    <input type="image"
    这个标签能用CSS美化,但是在onclick事件添加JS方法,也会出现回发(不是服务器空间怎么还回发?- -)最后,自己通过上面的标签得到启发,于是使用了以下标签
    <img  src="../Images/addBtn.gif" width="48px;" style=" cursor:hand;" height="21px"onclick="showModeBox();" />
    结果得到想要的结果了,单击没出现回发,模态层照常显示,没有一闪而过,也得到类似Button的小手模式特征,简称“伪按钮”。在这里:谢谢大家的热心回答和帮助。再次感谢!