<body>
    <form id="form1" runat="server">
    <div>
        <hr />
           <asp:PlaceHolder ID = "Pholder" runat ="server"></asp:PlaceHolder>
    </div>
    </form>
</body>
</html>
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            LoadControls();
        }
    }
    protected void LoadControls()
    {
        Control con1 = new Control();
        Control con2 = new Control();
        con1 = this.LoadControl("WebUserControl.ascx");
        con2 = this.LoadControl("WebUserControl2.ascx");
        Pholder.Controls.Add(con1);
        Pholder.Controls.Add(con2);
    }
注意点:用户控件在加载后或者多次加载后,部分JS文件调用内部控件ID的时候可能会产生变化 
解决办法:
1、在cs中定义一个全局变量 如: public string strConName;
2、在加载控件(Pholder.Controls.Add(con1);)之后加     如:strConName = con1.ClientID;   // 获取加载控件的控件代号
3、在aspx页面中增加   <script type="text/javascript">  var strName = '<%=strConName%>';   </script> // 在JS中获取
4、页面预览之后,页面上的控件ID 变为  strName+"_tbxLoadPortEN" (_+未加载前控件ID)      document.getElementById(strName+"_tbxLoadPortEN");
   foreach (GridViewRow row in gvList.Rows)
            {
                CheckBox delItem = row.FindControl("cbxItem") as CheckBox;
                if (delItem != null && delItem.Checked)
                {
     bll.Delete(Convert.ToInt32(gvList.DataKeys[row.RowIndex].Values[0]),Convert.ToInt32(gvList.DataKeys[row.RowIndex].Values[1]));
                }
            }
Panel pl = this.FindControl(panelName) as Panel;
        TextBox tbxPersonName = GvPerson.Rows[e.RowIndex].Cells[1].FindControl("tbxPersonName") as TextBox;
        DropDownList ddSex = GvPerson.Rows[e.RowIndex].Cells[2].FindControl("ddSex") as DropDownList;
(TextBox)Findcontrol("").Text
多次加载问题
cs:
Control Con = new Control(); 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在這裡放置使用者程式碼以初始化網頁
   if(!this.IsPostBack)
   {
    for(int i=0;i<5;i++)
    {
    // Con = new wc(); 
     Con = (wc)this.LoadControl("New/wc.ascx"); 
     ((wc)Con).ID = i.ToString();
     ((wc)Con).from_pub_id = i.ToString(); 
     PlaceHolder1.Controls.Add(Con);
    }
   }
  }*.ascx
放置一个Label
*.ascx.cs:
    /// <summary>
    ///        wc 的摘要描述。
    /// </summary>
    public class wc : System.Web.UI.UserControl
    {
        protected System.Web.UI.WebControls.Label Label1;
        public string str_from_pub_id; 
        private void Page_Load(object sender, System.EventArgs e)
        {
            // 在這裡放置使用者程式碼以初始化網頁
            Label1.Text = from_pub_id;
        }
        Web Form 設計工具產生的程式碼

        public string from_pub_id 
        { 
            get { return str_from_pub_id; } 
            set { str_from_pub_id = value; } 
        } 
    }
}
                    
                
    
        
  
                
            
        
浙公网安备 33010602011771号