Button click event handler in the custom control - not working

Discussion in 'ASP .Net Web Controls' started by Divya, Apr 30, 2004.

  1. Divya

    Divya Guest

    Hello

    This is my 1st project where I have to create a Webcontrol. I have created a simple custom control with a button and 2 labels added to a panel. My problem is that the event handler that I have assigned to the button [private void btnSubmit_Click()], is not getting invoked. Could anyone please go thru the code and let me know what I am missing here? Thanks in advance

    My custom control is as follows

    using System
    using System.Web
    using System.Web.UI
    using System.Web.UI.WebControls
    using System.ComponentModel
    using System.Drawing

    namespace WebControlLibrary

    /// <summary
    /// This WebControl simulates the rolling of a die. It consists of a label and a submit butto
    /// encapsulated in a Panel. When the button is clicked, the event handler calls a metho
    /// of the control - RollDice() to set the label with a random number between 1 and 6
    /// When the Page is initialized, RollDice() is called in order to initialize the label wit
    /// a value
    /// </summary

    public class WebCustomControl1 : System.Web.UI.WebControls.WebContro

    int dice_num
    Label lblNum = new Label()
    Button btnSubmit = new Button()
    Label lblComments = new Label()
    Panel MainPanel = new Panel()

    [Bindable(true)
    Category("Appearance")
    DefaultValue("")
    public int DiceNu

    ge

    return dice_num

    se

    dice_num = value
    if(dice_num > 0 && dice_num < 7
    lblNum.Text = dice_num.ToString()


    private void btnSubmit_Click(object sender, CommandEventArgs e

    RollDice()
    lblComments.Text += "In btnSubmit_Click()"

    protected void RollDice(

    Random rng = new Random(System.DateTime.Now.Millisecond)
    dice_num = rng.Next(1,7)
    lblNum.Text = dice_num.ToString()


    protected override void OnInit(EventArgs e

    base.OnInit (e)
    btnSubmit.Text = "Submit"
    lblNum.BackColor = Color.LightBlue
    lblNum.Width = 30
    lblComments.Text = "In OnInit()"


    protected override void CreateChildControls(

    MainPanel.Controls.Add(lblNum)
    MainPanel.Controls.Add(btnSubmit)
    MainPanel.Controls.Add(lblComments)
    Controls.Add(MainPanel)


    protected override void RenderContents(HtmlTextWriter output

    AddAttributesToRender(output)
    MainPanel.RenderControl(output)




    The aspx page that I am using to test this control is just a simple one
    using System
    using System.Collections
    using System.ComponentModel
    using System.Data
    using System.Drawing
    using System.Web
    using System.Web.SessionState
    using System.Web.UI
    using System.Web.UI.WebControls
    using System.Web.UI.HtmlControls

    namespace WebCustomControlTes

    /// <summary
    /// Summary description for WebForm1
    /// </summary
    public class WebForm1 : System.Web.UI.Pag

    protected WebControlLibrary1.WebCustomControl1 WebCustomControl11

    private void Page_Load(object sender, System.EventArgs e

    // Put user code to initialize the page her


    #region Web Form Designer generated cod
    override protected void OnInit(EventArgs e

    /
    // CODEGEN: This call is required by the ASP.NET Web Form Designer
    /
    InitializeComponent()
    base.OnInit(e)


    /// <summary
    /// Required method for Designer support - do not modif
    /// the contents of this method with the code editor
    /// </summary
    private void InitializeComponent(
    {
    this.Load += new System.EventHandler(this.Page_Load)


    #endregio

    }
    Divya, Apr 30, 2004
    #1
    1. Advertising

  2. Divya

    Divya Guest

    IGNORE PREVIOUS CODE - Look at this one

    Sorry! I pasted the wrong code in the earlier post! Please refer to this pos

    Hello

    This is my 1st project where I have to create a Webcontrol. I have created a simple custom control with a button and 2 labels added to a panel. My problem is that the event handler that I have assigned to the button [private void btnSubmit_Click()], is not getting invoked. Could anyone please go thru the code and let me know what I am missing here? Thanks in advance
    *************************************************************************
    My custom control is as follows

    using System
    using System.Web
    using System.Web.UI
    using System.Web.UI.WebControls
    using System.ComponentModel
    using System.Drawing

    namespace WebControlLibrary

    /// <summary
    /// This WebControl simulates the rolling of a die. It consists of a label and a submit butto
    /// encapsulated in a Panel. When the button is clicked, the event handler calls a metho
    /// of the control - RollDice() to set the label with a random number between 1 and 6
    /// When the Page is initialized, RollDice() is called in order to initialize the label wit
    /// a value
    /// </summary

    public class WebCustomControl1 : System.Web.UI.WebControls.WebContro

    int dice_num
    Label lblNum = new Label()
    Button btnSubmit = new Button()
    Label lblComments = new Label()
    Panel MainPanel = new Panel()

    [Bindable(true)
    Category("Appearance")
    DefaultValue("")
    public int DiceNu

    ge

    return dice_num

    se

    dice_num = value
    if(dice_num > 0 && dice_num < 7
    lblNum.Text = dice_num.ToString()



    protected void RollDice(

    Random rng = new Random(System.DateTime.Now.Millisecond)
    dice_num = rng.Next(1,7)
    lblNum.Text = dice_num.ToString()


    protected override void OnInit(EventArgs e

    base.OnInit (e)
    // Subcribe to the submit button's Click even
    btnSubmit.Text = "Submit"
    lblNum.BackColor = Color.LightBlue
    lblNum.Width = 30
    lblComments.Text = "In OnInit()"
    btnSubmit.Click +=new EventHandler(btnSubmit_Click)


    protected override void CreateChildControls(

    MainPanel.Controls.Add(lblNum)
    MainPanel.Controls.Add(btnSubmit)
    MainPanel.Controls.Add(lblComments)
    Controls.Add(MainPanel)


    /// <summary
    /// Render this control to the output parameter specified
    /// </summary
    /// <param name="output"> The HTML writer to write out to </param
    protected override void RenderContents(HtmlTextWriter output

    AddAttributesToRender(output)
    MainPanel.RenderControl(output)


    private void btnSubmit_Click(object sender, EventArgs e

    RollDice()
    lblComments.Text += "In btnSubmit_Click()"



    *************************************************************************
    The aspx page that I am using to test this control is just a simple one
    using System
    using System.Collections
    using System.ComponentModel
    using System.Data
    using System.Drawing
    using System.Web
    using System.Web.SessionState
    using System.Web.UI
    using System.Web.UI.WebControls
    using System.Web.UI.HtmlControls

    namespace WebCustomControlTes

    /// <summary
    /// Summary description for WebForm1
    /// </summary
    public class WebForm1 : System.Web.UI.Pag

    protected WebControlLibrary1.WebCustomControl1 WebCustomControl11

    private void Page_Load(object sender, System.EventArgs e

    // Put user code to initialize the page her


    #region Web Form Designer generated cod
    override protected void OnInit(EventArgs e

    /
    // CODEGEN: This call is required by the ASP.NET Web Form Designer
    /
    InitializeComponent()
    base.OnInit(e)


    /// <summary
    /// Required method for Designer support - do not modif
    /// the contents of this method with the code editor
    /// </summary
    private void InitializeComponent(
    {
    this.Load += new System.EventHandler(this.Page_Load)


    #endregio

    }
    Divya, Apr 30, 2004
    #2
    1. Advertising

  3. Re: IGNORE PREVIOUS CODE - Look at this one

    This was already answered to your post in the buildingcontrols newgroups.
    When you have a question that targets multiple newsgroups please crosspost
    it instead of multiposting it. Thanks!

    --
    Victor Garcia Aprea
    Microsoft MVP | ASP.NET
    Looking for insights on ASP.NET? Read my blog:
    http://obies.com/vga/blog.aspx
    To contact me remove 'NOSPAM'. Please post all questions to the newsgroup

    "Divya" <> wrote in message
    news:...
    > Sorry! I pasted the wrong code in the earlier post! Please refer to this

    post
    >
    > Hello,
    >
    > This is my 1st project where I have to create a Webcontrol. I have created

    a simple custom control with a button and 2 labels added to a panel. My
    problem is that the event handler that I have assigned to the button
    [private void btnSubmit_Click()], is not getting invoked. Could anyone
    please go thru the code and let me know what I am missing here? Thanks in
    advance!
    > **************************************************************************
    > My custom control is as follows -
    >
    > using System;
    > using System.Web;
    > using System.Web.UI;
    > using System.Web.UI.WebControls;
    > using System.ComponentModel;
    > using System.Drawing;
    >
    > namespace WebControlLibrary1
    > {
    > /// <summary>
    > /// This WebControl simulates the rolling of a die. It consists of a label

    and a submit button
    > /// encapsulated in a Panel. When the button is clicked, the event handler

    calls a method
    > /// of the control - RollDice() to set the label with a random number

    between 1 and 6.
    > /// When the Page is initialized, RollDice() is called in order to

    initialize the label with
    > /// a value.
    > /// </summary>
    >
    > public class WebCustomControl1 : System.Web.UI.WebControls.WebControl
    > {
    > int dice_num;
    > Label lblNum = new Label();
    > Button btnSubmit = new Button();
    > Label lblComments = new Label();
    > Panel MainPanel = new Panel();
    >
    > [Bindable(true),
    > Category("Appearance"),
    > DefaultValue("")]
    > public int DiceNum
    > {
    > get
    > {
    > return dice_num;
    > }
    > set
    > {
    > dice_num = value;
    > if(dice_num > 0 && dice_num < 7)
    > lblNum.Text = dice_num.ToString();
    > }
    > }
    >
    > protected void RollDice()
    > {
    > Random rng = new Random(System.DateTime.Now.Millisecond);
    > dice_num = rng.Next(1,7);
    > lblNum.Text = dice_num.ToString();
    > }
    >
    > protected override void OnInit(EventArgs e)
    > {
    > base.OnInit (e);
    > // Subcribe to the submit button's Click event
    > btnSubmit.Text = "Submit";
    > lblNum.BackColor = Color.LightBlue;
    > lblNum.Width = 30;
    > lblComments.Text = "In OnInit()";
    > btnSubmit.Click +=new EventHandler(btnSubmit_Click);
    > }
    >
    > protected override void CreateChildControls()
    > {
    > MainPanel.Controls.Add(lblNum);
    > MainPanel.Controls.Add(btnSubmit);
    > MainPanel.Controls.Add(lblComments);
    > Controls.Add(MainPanel);
    > }
    >
    > /// <summary>
    > /// Render this control to the output parameter specified.
    > /// </summary>
    > /// <param name="output"> The HTML writer to write out to </param>
    > protected override void RenderContents(HtmlTextWriter output)
    > {
    > AddAttributesToRender(output);
    > MainPanel.RenderControl(output);
    > }
    >
    > private void btnSubmit_Click(object sender, EventArgs e)
    > {
    > RollDice();
    > lblComments.Text += "In btnSubmit_Click()";
    > }
    > }
    > }
    > **************************************************************************
    > The aspx page that I am using to test this control is just a simple one -
    > using System;
    > using System.Collections;
    > using System.ComponentModel;
    > using System.Data;
    > using System.Drawing;
    > using System.Web;
    > using System.Web.SessionState;
    > using System.Web.UI;
    > using System.Web.UI.WebControls;
    > using System.Web.UI.HtmlControls;
    >
    > namespace WebCustomControlTest
    > {
    > /// <summary>
    > /// Summary description for WebForm1.
    > /// </summary>
    > public class WebForm1 : System.Web.UI.Page
    > {
    > protected WebControlLibrary1.WebCustomControl1 WebCustomControl11;
    >
    > private void Page_Load(object sender, System.EventArgs e)
    > {
    > // Put user code to initialize the page here
    > }
    >
    > #region Web Form Designer generated code
    > override protected void OnInit(EventArgs e)
    > {
    > //
    > // CODEGEN: This call is required by the ASP.NET Web Form Designer.
    > //
    > InitializeComponent();
    > base.OnInit(e);
    > }
    >
    > /// <summary>
    > /// Required method for Designer support - do not modify
    > /// the contents of this method with the code editor.
    > /// </summary>
    > private void InitializeComponent()
    > {
    > this.Load += new System.EventHandler(this.Page_Load);
    >
    > }
    > #endregion
    > }
    > }
    Victor Garcia Aprea [MVP], May 1, 2004
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Purvi T
    Replies:
    0
    Views:
    820
    Purvi T
    Oct 19, 2004
  2. =?Utf-8?B?Tm92aWNl?=

    Event Handler for button click in Custom WebControl

    =?Utf-8?B?Tm92aWNl?=, Sep 24, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    501
    =?Utf-8?B?Tm92aWNl?=
    Sep 24, 2004
  3. sonic
    Replies:
    1
    Views:
    523
    John Saunders
    Jan 7, 2005
  4. gce
    Replies:
    2
    Views:
    3,218
  5. Divya

    Button in custom webcontrol - event handler not working

    Divya, Apr 30, 2004, in forum: ASP .Net Building Controls
    Replies:
    2
    Views:
    164
    Victor Garcia Aprea [MVP]
    May 1, 2004
Loading...

Share This Page