Два экземпляра пользовательского контроля, один экземпляр реагирует на событие, другой не - PullRequest
0 голосов
/ 09 мая 2011

У меня есть один пользовательский элемент управления. Два экземпляра пользовательского элемента управления один экземпляр реагируют на событие, а другие нет.

Несколько советов?

1 Ответ

1 голос
/ 09 мая 2011

Вот пользовательский элемент управления,

Имя:

<asp:TextBox ID="TextBoxFirstName" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RQV1" runat="server" ControlToValidate="TextBoxFirstName" ErrorMessage="*"></asp:RequiredFieldValidator>

Фамилия:

<asp:TextBox ID="TextBoxLastName" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RQV2" runat="server" ControlToValidate="TextBoxLastName" ErrorMessage="*"></asp:RequiredFieldValidator>

Вот код для страницы, выставляющей всеproperties,

public string GetFirstName
{
    get { return TextBoxFirstName.Text; }
    set { TextBoxFirstName.Text = value; }
}

public string GetLastName
{
    get { return TextBoxLastName.Text; }
    set { TextBoxLastName.Text = value; }
}

В выделенном фрагменте кода я создаю две открытые строковые переменные, задающие значение для свойства Text элемента управления TextBox и возвращающие свойство Text элементов управления TextBox.на главной странице

<form id="form1" runat="server">
<div>This is page to add multiple user controls.</div>
<p>
    Customer1 Details:<br />
    <uc1:WebUserControl1 ID="WebUserControl11" runat="server" />
</p>

<p>
    Customer2 Details:<br />
    <uc1:WebUserControl1 ID="WebUserControl12" runat="server" />           
</p>

<asp:Button ID="Button1" runat="server" Text="Continue" OnClick="GetCustDetails"/>
<asp:Button ID="Button2" runat="server" Text="Clear" CausesValidation="false" OnClick="ClearFields" /><br />

Customer1 FirstName: <asp:label ID="Label1" runat="server"></asp:label><br />
Customer1 LastName: <asp:label ID="Label2" runat="server"></asp:label><br />
Customer2 FirstName: <asp:label ID="Label3" runat="server"></asp:label><br />
Customer2 LastName: <asp:label ID="Label4" runat="server"></asp:label><br />
</form>

Я добавляю два экземпляра пользовательского элемента управления на страницу.Затем есть четыре элемента управления Label, которые будут отображать свойства пользовательского элемента управления при нажатии кнопки 1.Есть еще одна кнопка Button2, которая очищает все элементы управления TextBox пользовательского элемента управления.

protected void GetCustDetails(object sender, EventArgs e)
{
    Label1.Text = WebUserControl11.GetFirstName;
    Label2.Text = WebUserControl11.GetLastName;
    Label3.Text = WebUserControl12.GetFirstName;
    Label4.Text = WebUserControl12.GetLastName;
}

protected void ClearFields(object sender, EventArgs e)
{
    WebUserControl11.GetFirstName = string.Empty;
    WebUserControl11.GetLastName = string.Empty;
    WebUserControl12.GetFirstName = string.Empty;
    WebUserControl12.GetLastName = string.Empty;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...