ASP.Net/User Control and Master Page/Load Control

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Add control to page in code behind (C#)

   <source lang="csharp">

<%@ Page language="c#" src="DynamicAdd.aspx.cs" AutoEventWireup="false" Inherits="WebControls.DynamicAdd" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML>

 <body>
   <form id="DynamicAdd" method="post" runat="server">
     <INPUT id="AddControl" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 12px" type="button" value="Add Control" name="Button1" runat="server">
   </form>
 </body>

</HTML> <%-- using System; using System.Collections; using System.ruponentModel; 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 WebControls {

 /// <summary>
 /// Summary description for DynamicAdd.
 /// </summary>
 public class DynamicAdd : System.Web.UI.Page
 {
   protected System.Web.UI.HtmlControls.HtmlInputButton AddControl;
 
   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.AddControl.ServerClick += new System.EventHandler(this.AddControl_ServerClick);
     this.Load += new System.EventHandler(this.Page_Load);
   }
   #endregion
   private void AddControl_ServerClick(object sender, System.EventArgs e)
   {
     HtmlButton ctrl = new HtmlButton();
     ctrl.InnerText = "Dynamic Button";
     this.Controls.Add(ctrl);
   }
 }

} --%>

      </source>
   
  


Use LoadControl to add user defined control (VB.net)

   <source lang="csharp">

<%@ Page Language=VB Debug=true %> <%@ Register

   TagPrefix="My" 
   TagName="SimpleControl" 
   Src="UserControlControls.ascx" 

%> <script runat=server> Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)

   Dim MyControl as UserControl = _
       LoadControl("UserControlControls.ascx")
   MyForm.Controls.Add(MyControl)

End Sub </SCRIPT> <HTML> <HEAD> <TITLE>Implementing a User Control on an ASP.NET Page</TITLE> </HEAD> <BODY LEFTMARGIN="40"> <form

   runat="server"
   id="MyForm"    

> <My:SimpleControl

   id="MSC1" 
   runat="server"

/> </form> </BODY> </HTML>

<%--UserControlControls.ascx

<asp:Label

   id="lbl1"
   runat="server"
   Font-Bold="True"
   Text="User Name: "

/>

<asp:TextBox

   id="txtUserName"
   runat=server

/>

<asp:Label

   id="lbl2"
   runat="server"
   Font-Bold="True"
   Text="Password: "

/>

<asp:TextBox

   id="txtPassword"
   runat=server
   TextMode="Password"

/>

--%>

      </source>