无法在运行时在aspx页面中加载一个用户控件
本文关键字:用户 控件 一个 运行时 aspx 加载 | 更新日期: 2023-09-27 18:23:43
我在div的一个页面中有四种不同类型的用户控件one.ascx两个.ascx三个.ascx四个.ascx
像这个
<%@ 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)的用户控件
但我能够看到所有加载的用户控件,并且加载页面需要花费大量时间,因为一次加载四个用户控件。。。
这不是我想要的,我只想在页面加载时加载一个用户控件。。。
如何解决一次只加载一个用户控件的问题。。。。。有人知道怎么做吗,这对我来说将是非常有益的
非常感谢。。。
首先需要从页面中删除四个用户控件。还删除了visibility:hidden样式,您可以将属性visibili="false"添加到div中,因为您在代码中将其设置为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>