2014-09-19 56 views
0

我有四個不同類型usercontorls在一個頁面內的div one.ascx two.ascx three.ascx four.ascx無法加載在aspx頁面運行時間

像一個用戶控制在頁面加載此

<%@ Page Language="C#" MasterPageFile="~/MasterPages/template.master" AutoEventWireup="true"CodeFile="ViewCertificateMaster.aspx.cs" Inherits="Pages_ViewCertificateMaster" %> 

<%@ Register Src="../Controls/one.ascx" TagPrefix="uc1" TagName="one" %> 
<%@ Register Src="../Controls/two.ascx" TagPrefix="uc2" TagName="two" %> 
<%@ Register Src="../Controls/three.ascx" TagPrefix="uc3" TagName="three" %> 
<%@ Register Src="../Controls/four.ascx" TagPrefix="uc4" TagName="four" %> 

    <asp:Content ID="Content1" ContentPlaceHolderID="phBody" Runat="Server">  
     ...... 
     ............ 
     ............ 
      some controls(button and dropdown list) 

    <table border="0"> 
    <tr> 
     <td colspan="3"> 
      <div class="content_grid" style="border:0px solid black;width:100%;"> 
       <div style="width: 100%; visibility:hidden;" runat="server" id="divViewMyCerts"> 
       <uc1:one runat="server" ID="one" /> 
          <uc2:two runat="server" ID="two" /> 
         <uc3:three runat="server" ID="three" /> 
         <uc4:four runat="server" ID="four" /> 

        </div> 
       </div> 
      </td> 
     </tr> 
    </table> 

,然後在後面的代碼

protected void Page_Load(object sender, EventArgs e) 
{ 

    if (!IsPostBack) 
    { 
     UserControl myAOSUsrControl = Page.LoadControl("../Controls/one.ascx") as UserControl; 
     divViewMyCerts.Controls.Add(myAOSUsrControl); 
     divViewMyCerts.Visible = true; 
    } 
} 

我得到的問題...我想加載只有一個用戶控件是(one.ascx)

,但我能看到的是加載所有的用戶控件和時間其採取大量加載頁面,因爲四個用戶控件加載同時...

這不是我想要的,我想在頁面加載要加載只有一個用戶控制...

我怎麼能解決這個問題,在只加載一個用戶控件一個時間..... 會有任何想法如何做到這一點,這將是非常偉大的我

非常感謝提前...

+0

你想通過代碼做到這一點? – Seminda 2014-09-19 05:34:05

+0

是的,我想要它的代碼....... – 2014-09-19 05:34:27

+1

在你的用戶界面已經添加了4個用戶控件。所以不需要再次加載它。你可以通過編號 – Seminda 2014-09-19 05:34:45

回答

1

首先,您需要從您的頁面中刪除四個用戶控件。也刪除可見性:隱藏的樣式,您可以添加屬性可見=「假」,因爲你在代碼中設置爲true。 然後使用你已經有的代碼,但刪除!IsPostBack

<%@ Page Language="C#" MasterPageFile="~/MasterPages/template.master" AutoEventWireup="true"CodeFile="ViewCertificateMaster.aspx.cs" Inherits="Pages_ViewCertificateMaster" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="phBody" Runat="Server">  
    ...... 
    ............ 
    ............ 
    some controls(button and dropdown list) 

    <table border="0"> 
    <tr> 
    <td colspan="3"> 
     <div class="content_grid" style="border:0px solid black;width:100%;"> 
      <div style="width: 100%;" runat="server" id="divViewMyCerts"> 
      </div> 
      </div> 
     </td> 
    </tr> 
</table> 
+0

嗨,感謝一個更多的問題是在這裏我得到這樣的錯誤「無法加載viewstate。視圖狀態被加載到其中的控制樹必須匹配所使用的控制樹例如,當動態添加控件時,在回發期間添加的控件必須與初始請求期間添加的控件的類型和位置相匹配。「 – 2014-09-19 06:17:10

+0

你還有這個問題嗎? – 2014-09-19 14:03:18