微软asp:Button有个功能,用OnClientClick和OnClick结合,可以先在客户端执行脚本,然后再执行服务器端代码。由于有些下载器破坏了这种机制,我没用这种方法。我用HTML的button和asp:Button结合,HTML的button显示,asp:Button隐藏。用HTML的button执行客户端,<INPUT onclick="javascript:if (confirm('你确定要保存吗?')) document.all.btnSave.click();" type="button" value=" 保存 ">上面会调用asp:Button,asp:Button是<asp:button id="btnSave" runat="server" width="0px" Text="(隐藏)"  OnClick="btnSave_Click"></asp:button>原来在ie7中看不到隐藏的Button,在ie8中不行了,asp:Button显示了。VS2008中有一个HiddenField,可惜是针对TextBox,没有HiddenButton这个控件。有没有人遇到过类似的问题,并且有比较好的解决方法?

解决方案 »

  1.   

    Button不能在ie8中隐藏?那你把Button仍进一个div里,把div隐藏总行吧。
      

  2.   

    放在Panel里面也行啊,给btn设置style="display:none"这样掩藏了 JS 也能找到
      

  3.   

    放 span 里,display:none
      

  4.   

    给btn设置style="display:none"这样掩藏了 JS 也能找到
      

  5.   

    我还用IE6
    各个浏览器的不同,开发web真是头大
      

  6.   

    放到div或者span中 然后隐藏
      

  7.   

    看楼主的标题的意思,是把Button的width设置为0来达到不显示的目的,其实正确的方法是设置其style属性:display:none,如下例:
    <asp:Button ID="Button1" runat="server" Text="Button" style="display:none" />
      

  8.   

    把Button的width设置为0来达到不显示的目的
      

  9.   

    width=0应该不行了。一股宽度小于15px的都无效了
      

  10.   

    微软asp:Button有个功能,用OnClientClick和OnClick结合,可以先在客户端执行脚本,然后再执行服务器端代码。由于有些下载器破坏了这种机制,我没用这种方法。这什么意思,看.net输出的html就知道了,按钮的onclick中先是你在OnClientClick定义的语句,然后是OnClick的一堆,什么叫下载器破坏了这种机制?不懂。
      

  11.   

    用serverlight可以兼容任何主流浏览器的,很不错.
      

  12.   

    <div style="display:none"><asp:button id="btnSave" runat="server"  Text="(隐藏)" asp:button>
    </div>
      

  13.   

    asp:button 中也能写 style="display:none"的属性,后台也可以在C#中修改这个属性,大概写法就是
    btnName.style.display="block"就显示了
      

  14.   

       在asp.Net里面最好把样式写在style里面 太多的话就写css用class嘛