簡體   English   中英

無法在運行時在aspx頁面中加載一個用戶控件

[英]not able to load one user control at run time in aspx page

我在div one.ascx two.ascx three.ascx four.ascx的一頁中有四種不同類型的usercontorls

像這樣

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

但是我能夠看到所有已加載的用戶控件,並且由於一次加載四個用戶控件而花費大量時間來加載頁面...

這不是我想要的,我只希望在頁面加載時加載一個用戶控件...

我該如何解決這個問題,一次只加載一個用戶控件......任何人都不知道如何執行此操作,這對我非常有用

提前謝謝了...

首先,您需要從頁面中刪除四個用戶控件。 也可以刪除visible:hidden樣式,因為您可以在代碼中將其設置為true,所以可以向div添加visible =“ false”屬性。 然后使用您已有的代碼,但刪除!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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM