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

is it possible to see one user control on other user control?

我遇到了一个问题,我有三个用户控件,分别是 Control1、control2、control3。 我想把 Control1 变成 3 divs 并在第一部分看到 contol1 UI div 的 control2-第 2 部分 Control3- in 3 div

的一部分

可能吗? 我想这样做只是为了我可以用更少的代码进行维护。有没有其他选择。其他最适合我的。 请推荐

是的,您可以将多个用户控件放在一个用户控件上。但是,您的问题被否决了,您的问题的解决方案如下:

创建示例网站。添加 Webusercontrol1.ascx ,Webusercontrol2.ascx, Webusercontrol3.ascx, Webusercontrol4.ascx 并修改如下代码。

Default.aspx 页面 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-1 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-2 html

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

UserControl-3 html

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

UserControl-4 html

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