Asp.net 需要在多个地方引用ASPX页面中的Usercontrol(ascx)并获得不同的结果
情景: Default.aspx如下所示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
<%@ 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" />