How to: Convert Web Forms Pages into ASP.NET User Controls
To convert a single-file ASP.NET Web page into a user control
- Rename the control so the file name extension is .ascx.
- Remove the html, body, and form elements from the page.
- Change the @ Page directive to an @ Control directive.
- Remove all attributes of the @ Control directive except Language, AutoEventWireup (if present), CodeFile, and Inherits.
- Include a className attribute in the @ Control directive. This allows the user control to be strongly typed when it is added to a page.
To convert a code-behind ASP.NET Web page into a user control
- Rename the .aspx file so the file name extension is .ascx.
- Rename the code-behind file to have the file name extension .ascx.vb or .ascx.cs, depending on what programming language the code-behind file is in.
- Open the code-behind file and change the class from which it inherits from Page to UserControl.
- In the .aspx file, do the following:
- Remove the html, body, and form elements from the page.
- Change the @ Page directive to an @ Control directive.
- Remove all attributes of the @ Control directive except Language, AutoEventWireup (if present), CodeFile, andInherits.
- In the @ Control directive, change the CodeFile attribute to point to the renamed code-behind file.
- Include a className attribute in the @ Control directive. This allows the user control to be strongly typed when it is added to a page.
-
- Example:
<%@ Page Language=”C#” %>
<html> <script runat=server> void EnterBtn_Click(Object sender, EventArgs e) { Label1.Text = "Hi " + Name.Text + " welcome to ASP.NET!"; } </script> <body> <h3> <u>Web Forms Page</u> </h3> <form> Enter Name: <asp:textbox id="Name" runat=server/> <asp:button Text="Enter" OnClick="EnterBtn_Click" runat=server/> <br> <br> <asp:label id="Label1" runat=server/> </form> </body> </html> <%@ Control Language="C#" ClassName="SampleUserControl" %> <h3> <u>User Control</u> </h3> <script runat=server> void EnterBtn_Click(Object Sender, EventArgs e) { Label1.Text = "Hi " + Name.Text + " welcome to ASP.NET!"; } </script> Enter Name: <asp:textbox id="Name" runat=server/> <asp:button Text="Enter" OnClick="EnterBtn_Click" runat=server/> <br> <br> <asp:label id="Label1" runat=server/>
- Example:
Categories: ASP.NET
Comments (0)
Trackbacks (0)
Leave a comment
Trackback
Comments