Asp.net 需要在多个地方引用ASPX页面中的Usercontrol(ascx)并获得不同的结果

Asp.net 需要在多个地方引用ASPX页面中的Usercontrol(ascx)并获得不同的结果,asp.net,user-controls,parameter-passing,ascx,Asp.net,User Controls,Parameter Passing,Ascx,情景: Default.aspx如下所示 <%@ Page MasterPageFile="~/StandardLayout.master" Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register src= "~/Controls/Us.ascx" tagname="AboutUs" tagprefix="site" %> <asp:Content ID="C

情景: Default.aspx如下所示

<%@ Page MasterPageFile="~/StandardLayout.master" Language="C#" CodeFile="Default.aspx.cs"     Inherits="_Default" %>
<%@ Register src=  "~/Controls/Us.ascx" tagname="AboutUs" tagprefix="site" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="Server">
    <div id="large">
       <site:AboutUs  ID="AboutUsControl" runat="server" />
    </div>
   <div id="small">
      <site:AboutUs  ID="AboutUsControl" runat="server" />
    </div>
</asp:Content>

AboutUs.ascx.cs为标签控件指定一些值。在上面的场景中,我想在“divid=small”中重用AboutUs,因为逻辑是相同的,但只是值发生了变化

我的问题在AboutUs.ascx.cs中,我需要一些方法来确定它是否属于“”,分配Label1=“我在这里”。否则Label1=“我无处不在”

我正在尝试传递参数,但我是否需要在default.aspx.cs中传递代码中的任何内容?或任何其他建议


请建议。

确保两个用户控件都有唯一的ID。我将使用AboutsControl1和AboutsControl2。为用户控件声明name属性:

private string _doWhat;
    public string doWhat
    {
        get { return _doWhat; }
        set { _doWhat = value; }
    }

    //Execute the check somewhere in your code to set the text you want.    
    private void Do_Something()
    {
        if (_doWhat == "Large")
        {
            //display "I am here"
        }
        else
        {
            //display "I am everywhere"
        }
    }
在使用用户控件的页面上的代码隐藏中,只需通过调用公共变量传递值:

AboutUsControl1.doWhat = "Large";
        AboutUsControl2.doWhat = "Small";
或者只需在控件本身中设置doWhat:

<site:AboutUs ID="AboutUsControl1" runat="server" doWhat="Large" />
<site:AboutUs ID="AboutUsControl2" runat="server" doWhat="Small" />

确保两个用户控件都有唯一的ID。我将使用AboutsControl1和AboutsControl2。为用户控件声明name属性:

private string _doWhat;
    public string doWhat
    {
        get { return _doWhat; }
        set { _doWhat = value; }
    }

    //Execute the check somewhere in your code to set the text you want.    
    private void Do_Something()
    {
        if (_doWhat == "Large")
        {
            //display "I am here"
        }
        else
        {
            //display "I am everywhere"
        }
    }
在使用用户控件的页面上的代码隐藏中,只需通过调用公共变量传递值:

AboutUsControl1.doWhat = "Large";
        AboutUsControl2.doWhat = "Small";
或者只需在控件本身中设置doWhat:

<site:AboutUs ID="AboutUsControl1" runat="server" doWhat="Large" />
<site:AboutUs ID="AboutUsControl2" runat="server" doWhat="Small" />