Нужно ссылаться на Usercontrol (ascx) на странице ASPX в нескольких местах с разными результатами - PullRequest
0 голосов
/ 23 декабря 2011

Сценарий: 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 присваивает некоторое значение элементу управления меткой.В приведенном выше сценарии я хочу повторно использовать AboutUs в «div id = small», поскольку логика та же, но только изменение значения.

Мой вопрос находится в AboutUs.ascx.cs, мне нужен какой-то способ выяснить, относится ли он к "", назначьте Label1 = "Я здесь".В противном случае Label1 = "Я везде"

Я пытаюсь передать параметры, но нужно ли мне что-нибудь из кода в default.aspx.cs?или любые другие предложения.

Пожалуйста, предложите.

1 Ответ

3 голосов
/ 23 декабря 2011

Убедитесь, что оба пользовательских элемента управления имеют уникальные идентификаторы. Я буду использовать AboutUsControl1 и AboutUsControl2. Объявите свойство 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" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...