我再login 画面又一个submit按钮,输入完用户名和密码后就可以进入系统了,但我的系统又一个功能,就同一用户不能同时登陆进去,用户有时点击了2次submit 系统就会认为已经有用户登陆了.我怎样才能保证不管点击几次,我只提交一次呢??????谢谢各位大侠!

解决方案 »

  1.   

    btn.attribute["onclick"] = "this.disabled = 'disabled'";
      

  2.   

    这样是不行的。
    应该在按钮事件里,使用 viewstate 来控制。
      

  3.   

    to xrascal(横刀夺爱) 
    大侠能具体一点吗?
      

  4.   

    <%@ Page language="c#" AutoEventWireup="false" debug="true"%>
    <%@ Import Namespace="System.IO" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html>
      <head>
        <title>禁止刷新多次提交</title>
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name=vs_defaultClientScript content="JavaScript">
        <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script runat="server" language="c#">
    private void Page_Load(object sender, System.EventArgs e)
    {
    if( !IsPostBack )
    {
    if(ViewState["Submit"] == null) ViewState["Submit"] = 0;
    }
    }override protected void OnInit(EventArgs e)
    {
    InitializeComponent();
    base.OnInit(e);
    }private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load);
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    }private void Button1_Click(object sender, System.EventArgs e)
    {
    if( (int)ViewState["Submit"] > 0 ) return; // 第二次点击按钮,下面的代码不再执行。 ViewState["Submit"] = (int)ViewState["Submit"] + 1;
    String log = Server.MapPath("Upload") + "\\1.txt";
    this.WriteLine(log, TextBox1.Text + " " + DateTime.Now.ToString());
    this.WriteLine(log, "ViewState[\"Submit\"]=" + ViewState["Submit"].ToString());
    this.WriteLine(log, "");
    }#region 写入日志 public void WriteLine( String logString )
    /// <summary>
    /// 写入日志
    /// </summary>
    public void WriteLine( String logFilePath, String logString )
    {
    using(StreamWriter sw = new StreamWriter(logFilePath, true, Encoding.GetEncoding("gb2312")))
    {
    sw.WriteLine( logString );
    sw.Close();
    }
    }
    #endregion

    </script>
      </head>
      <body>

        <form id="Form1" method="post" runat="server">
    <asp:TextBox id="TextBox1" runat="server"/><asp:Button id="Button1" runat="server" Text="Button"/>
        </form>

      </body>
    </html>
      

  5.   

    请问各位大侠,button没有一个属性能设置吗?
      

  6.   

    我用的是htmlButton 好像没有这个Click 事件啊! 我用javascript 写的,怎么控制啊!