【问题标题】:Creating an asp:Button programmatically?以编程方式创建 asp:Button?
【发布时间】:2010-09-16 07:47:24
【问题描述】:

我正在使用我的代码隐藏页面以编程方式创建一个保存按钮:

    Button btnSave = new Button();
    btnSave.ID = "btnSave";
    btnSave.Text = "Save";

但是我认为这必须创建一个 html 按钮或者可能需要其他东西,因为我似乎无法在下一行中设置 OnClick 属性,我可以指定 OnClientClick 但这不是我想要设置的那个。

【问题讨论】:

    标签: c# asp.net .net servercontrols


    【解决方案1】:

    还请记住,当用户单击按钮时,它将强制回发,这会创建您的页面类的新实例。您创建按钮的旧实例已经消失。您需要确保该类的这个新实例还添加了您的按钮——它是事件处理程序——在加载阶段之前,否则事件处理程序将不会运行(页面的加载事件但是仍然会)。

    【讨论】:

      【解决方案2】:

      如果您想在后面的代码中为 OnClick 事件注册一个处理程序,您将使用 += 语法向 OnClick 添加一个处理程序。

      //Add the handler to your button, passing the name of the handling method    
      btnSave.Click += new System.EventHandler(btnSave_Click);
      
      protected void btnSave_Click(object sender, EventArgs e)
      {
          //Your custom code goes here
      }
      

      【讨论】:

      • 对不起?!我知道我很厚,但这个答案对我来说毫无意义,什么是 += 语法?
      【解决方案3】:
      Button btnSave = new Button();    
      btnSave.ID = "btnSave";    
      btnSave.Text = "Save";  
      btnSave.Click += new System.EventHandler(btnSave_Click);
      
      protected void btnSave_Click(object sender, EventArgs e)
      {
          //do something when button clicked. 
      }
      

      【讨论】:

        猜你喜欢
        • 2010-12-18
        • 1970-01-01
        • 2013-03-28
        • 2013-07-25
        • 2013-07-22
        • 2018-06-04
        • 2015-03-17
        • 2013-11-24
        • 2016-01-01
        相关资源
        最近更新 更多