一个submit按钮<input id="Submit1" type="submit" value="submit" runat="server" onserverclick="Submitl_ServerClick" />
后台c#代码:
 protected void Submitl_ServerClick(object sender, System.EventArgs e)
    {
        TextBox1.Text = "dfdf";
    }前台submit1控件的onserverclick事件属性指向了后台代码中的Submitl_ServerClick事件处理函数,运行之后,点击submit1按钮,为什么TextBox1的文本没有变成"dfdf"呢?哪里出错了吗?

解决方案 »

  1.   

    你这不如直接用 asp:button ,因为type=submit 没有通过asp.net默认的 __doPostback js 方法,
    后台根本没走到你的 Submitl_ServerClick 方法。
      

  2.   

    submit是个提交按钮,提交到表单中
      

  3.   

    你确认不行么?
    你看这里:
    http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlinputbutton.onserverclick(v=vs.80).aspx
    微软的例子说可以的。
      

  4.   

    要用HtmlButton protected void Page_Init(object sender, EventArgs e)
    {
                 HtmlButton button = new HtmlButton();
                 button.InnerText = "Test1";
                 button.ServerClick += new EventHandler(button_ServerClick);
                 PlaceHolder1.Controls.Add(button);
    }
    protected void button_ServerClick(object sender, EventArgs e)
    {
    }
      

  5.   

    意思是不是submit提交按钮,只能用来提交数据,这是自动执行的,不能注册点击事件?
      

  6.   

    需要用HtmlInputButton控件
    The ServerClick event is raised when an HtmlInputButton control is clicked.
      

  7.   

    用input with runat=server这样是可以的,楼主的情况可能是IDE抽了,建议重新删除控件再写一遍
      

  8.   

    你都想用服务器端的方法了,干嘛不直接用button控件
    客户端的事件可以用onClientClick
      

  9.   

    <input id="Submit1" type="submit" value="submit" runat="server" onserverclick="Submitl_ServerClick" />
    ---------------------------------------------------------------runat="server" 去掉
      

  10.   

    可是如果用asp:button的话,Clik事件处理程序里面怎么写才算提交数据呢,submit都是自动提交form里面的数据的?
      

  11.   


    asp:button 其实调用了 __doPostback 就会提交
      

  12.   

    试了一下LZ的代码,textbox1正常变为dfdf,并无LZ所述问题
      

  13.   

    把事件去掉,然后在form表单里面添加action你要提交的路径就可以了