How to make Custom webserver control in asp.net

How to make custom server control in asp.net
First draw picture of the custom server control in mind, after make custom control. Suppose we have a picture and we want to make server control of that picture.
Follow some steps for creating custom server control in asp.net

Step-1 : Open visual studio
Step-2:  Goto file-->new-->project-->select web in left pane-->select asp.net server control in middle pane
Step-3:  Write name of your project as 'customserver_control' and click on 'ok' button
Step-4:  After click on ok button you can see 'ServerControl1.cs' file is appear
Step-5:  Change  c# file name as 'customtextbutton' control
Step-6:  Remove this code, which is mentioned below from your c# file

[Bindable(true)]
        [Category("Appearance")]
        [DefaultValue("")]
        [Localizable(true)]
        public string Text
        {
            get
            {
                String s = (String)ViewState["Text"];
                return ((s == null)? "[" + this.ID + "]" : s);
            }

            set
            {
                ViewState["Text"] = value;
            }
        }

        protected override void RenderContents(HtmlTextWriter output)
        {
            output.Write(Text);
        }

Step-7: Replace your code with mentioned below code.
[ToolboxData("<{0}:customtextbutton runat=server></{0}:customtextbutton>")]
Note: class name or tag name are same

Step-8: Design CreateChildControls() override method in the class with some statements, which is mentioned below.
Step-9: Now,Your code look like

Label l1:
        TextBox User_txt;
Label l1;

protected override void CreateChildControls()
        {
                l1=new Label();
                l1.ID = "label1";
                l1.Text = "User_Name";
                User_txt = new TextBox();
                User_txt.ID = "usrtxt";
                User_txt.Text = string.Empty;
this.controls.add(l1);
this.controls.add(User_txt);


        }

Step-11: Take override  Render(HtmlTextWriter writer) method  for rendering the object onto the browser
Step-12: write this code inside this method
protected override void Render(HtmlTextWriter writer)
        {
            l1.RenderControl(writer);
            User_txt.RenderControl(writer);


        }

Step-13: Build this project

Now how to use .dll or .exe file in your web application

Step-1: click file-->new-->project-->selct web in left pane-->asp.net web form
Step-2: Right click on tool box and choose new item
Step-3: Browser your project .dll file and add your control onto your toolbox.

0 comments:

Post a Comment