有这样一个问题,我的页面上有一个linkbutton控件,我想让他点下去,就变灰五秒钟,然后再enable,以前做winform的时候,有timer控件的,asp.net工具箱里好像没有 ,我用的是VS2005,听说应该用js解决,但我又不会,想请教一下大家

解决方案 »

  1.   


    <script>
    function SetUnEnable()
    {
      document.getElementById("bt1").enable=false;
      setTimeout("document.getElementById('bt1').enable=true;",5000);
    }
    </script>
    <input type="button" name="bt1" onclick="SetUnEnable();" id="bt1" text="确定">
    [code=HTML]
      

  2.   

    前台就一个asp控件
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>    
    </body>
    </html>
      

  3.   

    楼上的我想直接用asp控件 ,不是input
      

  4.   

    干么一定要用服务器控件呢?
    那好吧,如果非一定要用服务器控件,也是同样的道理,<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
      <title>无标题页</title>
    </head>
    <body>
      <asp:LinkButton ID="LinkButton1" OnClientClick="SetUnEnable()
    " runat="server">LinkButton</asp:LinkButton>   
    </body>
    </html>不过你要修改js函数里的getElementById("这里要换成服务器控件生成html代码后相应的客户端ID").
      

  5.   


    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
    <script language ="javascript" type="text/javascript">
    function SetUnEnable()
    {
      document.getElementById("LinkButton1").enable=false;
      setTimeout("document.getElementById('bt1').enable=true;",5000);
    }
    </script>
        <form id="form1" runat="server">
        <div>
            <asp:LinkButton ID="LinkButton1" runat="server" OnClick ="SetUnEnable()">LinkButton</asp:LinkButton></div>
        </form>
    </body>
    </html>提示说不包含SetUnEnable()的定义
      

  6.   

    大哥,你到底有没认真看清楚啊,是OnClientClick不是OnClick。
    另外,document.getElementById("LinkButton1").enable=false;
    这里不能使用LinkButton1,因为服务器控件执行后生成的客户端id并不是LinkButton1.
    或者在后台.cs页中的Page_Load进行定义
    LinkButton1.Attitude.Add("onclick","SetUnEnable();");
      

  7.   

    另外,好像不能用LinkButton,LinkButton控件执行后在客户端生成的是链接而不是按纽,没有enable这个属性的,最好换成Button
      

  8.   

    以前没接触过web  为了一个小功能 只能硬着头皮上了   我怎么获得linkbutton1解析后的id呢
    还有我能不能把click事件写在后台cs文件中呢
      

  9.   

    在代码中用了enable属性 解析后他会自己生成 disabled 属性的   好像不碍事的
      

  10.   

    注意,这是客户端的enable而不是服务器端,在客户端<a></a>并没有enable这个属性的,而且SetUnEnable()这个函数是在客户端执行的不是服务器端执行的。click事件写在后台是不行的,后台的事件是要回发后才执行的,一点击页面就刷新了。
    费这么大的劲,你先说说你想实现什么小功能
      

  11.   

    我就想实现这个 功能     linkbutton用的是服务器控件  当点它以后  变灰(或者称之为不可用)5秒钟,之后又可以用了   就这个功能
      

  12.   

    说具体点,变灰是为什么呢?我发现还有一个问题,你用的是LinkButton,一点击页面就回发了,刷新了,变灰根本就不起作用了,http请求是无状态的,你不能用winform开发的思维。
      

  13.   

    嗯  好像是这样的 因为公司要用这个linkbutton 可能真不太可以实现   我回头看看能不能用button 代替  非常感谢你的回答  分数全给你把