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

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

Add control to page in code behind (C#)

<%@ 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);
    }
  }
}
--%>



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

<%@ 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
<Table style="font: 10pt verdana;border-width:1;
    border-style:solid;border-color:black;" cellspacing="15">
<TR>
<TD>
<asp:Label
    id="lbl1"
    runat="server"
    Font-Bold="True"
    Text="User Name: "
/>
</TD>
<TD>
<asp:TextBox 
    id="txtUserName"
    runat=server
/>
</TD>
</TR>
<TR>
<TD>
<asp:Label
    id="lbl2"
    runat="server"
    Font-Bold="True"
    Text="Password: "
/>
</TD>
<TD>
<asp:TextBox 
    id="txtPassword"
    runat=server
    TextMode="Password"
/>
</TD>
</TR>
</Table>
--%>