none
C# <button type="submit">submit</button>如何将按钮与后台事件关联 RRS feed

  • 问题

  • 给<button type="submit">submit</button>加上runat="server"后,如何与后台方法联系到一起?
    每一天,都是一个新的生命
    2011年4月22日 9:05

答案

  • 你好,你说的,我不甚理解。 我知道<button runat="server">submit</button>是html服务器控件,但是我不清楚如何给他一个单击事件,由后台来处理
    每一天,都是一个新的生命


      protected void Page_Load(object sender, EventArgs e)
        {
            Button1.ServerClick += new EventHandler(Button1_ServerClick);
        }

        void Button1_ServerClick(object sender, EventArgs e)
        {
            throw new NotImplementedException();
        }


    胡超
    • 已标记为答案 NewJoin 2011年4月27日 16:38
    2011年4月26日 0:51

全部回复

  • 请使用<asp:Button id=x runat=server Text=submit/>
    【孟子E章】
    2011年4月22日 9:22
    版主
  • 可是,您写的生成的客户端代码是<input />而不是<button>,那么HTML标准中的<button>怎么使用呢?
    每一天,都是一个新的生命
    2011年4月22日 14:19
  • 加上runat="server'之后就成了html服务器控件

    Page_Load事件可以与该控件绑定


    胡超

    • 已编辑 胡 超 2011年4月26日 1:05
    2011年4月23日 5:46
  • 你好,你说的,我不甚理解。 我知道<button runat="server">submit</button>是html服务器控件,但是我不清楚如何给他一个单击事件,由后台来处理
    每一天,都是一个新的生命
    2011年4月23日 8:05
  • 不知道楼主的具体需求是什么?是提交到服务器前客户端进行验证吗?
    2011年4月24日 1:59
  • 楼主问的是按钮怎么关联事件执行

    这个问题 不是一两句能说清楚  首先你要了解IPostBackEventHandler接口 它的作用是让asp.net page上所有控件 通过 findcontrol找到相关id控件 尝试转换这个接口 然后执行RaisePostBackEvent方法  当设计一个控件主要执行方法就是RaisePostBackEvent才能执行你指定一个onclick方法 然后执行委托类型达到你的事件   不管你定不定义事件  它都顺序执行的

     


    My Blog<
    2011年4月24日 8:20
  •  对,我的意思就是这样的:按钮怎么关联事件执行,而这个按钮是<button>而不是<input>

    您说的思路,对我来说,有些深奥,我不太了解它的内部执行机制

    我还想请教一点:这个<button>在form里面,也需要按照你上面的顺序执行吗?


    每一天,都是一个新的生命
    2011年4月25日 3:11
  • 你从html转换服务端控件 它自动生成一个类型button 没有服务端控件功能丰富 原理机制很类似 不提供太多功能


    My Blog<
    2011年4月25日 4:06
  • 在button中设置ID属性 runat="server"就可以与后台事件关联了。
    胡超
    2011年4月26日 0:45
  • 你好,你说的,我不甚理解。 我知道<button runat="server">submit</button>是html服务器控件,但是我不清楚如何给他一个单击事件,由后台来处理
    每一天,都是一个新的生命


      protected void Page_Load(object sender, EventArgs e)
        {
            Button1.ServerClick += new EventHandler(Button1_ServerClick);
        }

        void Button1_ServerClick(object sender, EventArgs e)
        {
            throw new NotImplementedException();
        }


    胡超
    • 已标记为答案 NewJoin 2011年4月27日 16:38
    2011年4月26日 0:51