是否可以在其他用户控件上看到一个用户控件?

时间:2016-07-27 05:49:21

标签: asp.net user-controls

我有一个问题,我有三个用户控件说Control1,control2,control3。 我想将Control1变为3个div,并在第一部分中看到contol1 UI control2-2nd div的一部分 控制3-在div的3部分

有可能吗? 我想这样做只是为了我可以用较少的代码维护。是否有任何替代。其他最适合我的。 请建议

1 个答案:

答案 0 :(得分:1)

是的,您可以在单个用户控件上放置多个用户控件。然而,你的问题是投票,你的问题的解决方案如下:

创建示例网站。在其中添加Webusercontrol1.ascx,Webusercontrol2.ascx,Webusercontrol3.ascx,Webusercontrol4.ascx并修改下面给出的代码。

Default.aspx page html

resolveEntity()

UserControl-1 Html:这是容器用户控件,它将具有所有必需的用户控件。

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="SO_1._Default" %>
<%@ Register src="WebUserControl1.ascx" tagname="WebUserControl1" tagprefix="uc1" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <uc1:WebUserControl1 ID="WebUserControl11" runat="server" />
</asp:Content>

UserControl-2 html

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs"
Inherits="SO_1.WebUserControl1" %>
<%@ Register Src="WebUserControl1.ascx" TagName="WebUserControl2" TagPrefix="uc1" %>
<%@ Register Src="WebUserControl2.ascx" TagName="WebUserControl2" TagPrefix="uc2" %>
<%@ Register Src="WebUserControl3.ascx" TagName="WebUserControl3" TagPrefix="uc3" %>
<%@ Register Src="WebUserControl4.ascx" TagName="WebUserControl4" TagPrefix="uc4" %>
<p>
    <b>DIV-1 Container User control</b></p>
<div>
    <b>DIV1</b>
    <br />
    <uc2:WebUserControl2 ID="WebUserControl21" runat="server" />
</div>
<div>
    <b>DIV2</b>
    <br />
    <uc3:WebUserControl3 ID="WebUserControl31" runat="server" />
</div>
<div>
    <b>DIV3</b>
    <br />
    <uc4:WebUserControl4 ID="WebUserControl41" runat="server" />
</div>

UserControl-3 html

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl2.ascx.cs" Inherits="SO_1.WebUserControl2" %>
User Control-1

UserControl-4 html

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl2.ascx.cs" Inherits="SO_1.WebUserControl2" %>
User Control-2