У меня проблема с настройкой события в форме. Вот настройки:
Мне дали страницу с двумя элементами управления, двумя разными версиями формы, которую конечный пользователь мог заполнить - стандартный и расширенный. Эти две формы имеют различный код и javascript, поэтому оригинальный разработчик поместил их в отдельные веб-элементы управления. Помимо элементов управления есть LinkButton, который переключается в расширенный режим.
<uc1:Standard runat="server" ID="StandardForm" />
<uc1:Advanced runat="server" ID="AdvancedForm" />
<asp:LinkButton runat="server" ID="lnkAdvanced" Text="Go To Advanced" OnClick="lnkAdvanced_Click" />
lnkAdvanced_Click просто берет всю информацию, введенную в данный момент, в расширенный и переворачивает Visible.
Моя проблема в том, что один из боссов хочет кнопку «Перейти к расширенному» внутри стандартной формы, но код .Visible находится на странице. Поэтому я подумал, что это можно сделать с помощью события, но, похоже, оно не работает.
Я пытался настроить событие так:
public event EventHandler AdvanceClick;
protected void lnkAdvanced_Click(object sender, EventArgs e) {
AdvanceClick(sender, e);
}
И когда это не сработало, я попытался создать делегата:
public delegate void AdvancedEventHandler(object sender, EventArgs e);
public event AdvancedEventHandler AdvanceClick;
Когда я переместил кнопку в стандартную форму, я ожидал, что смогу напечатать что-то вроде:
StandardForm.AdvanceClick += new AdvancedEventHandler(GoToAdvanced);
Но, похоже, он не распознает никаких событий внутри элемента управления! Я получаю сообщение об ошибке: «Стандарт не содержит определения для« AdvanceClick »и не может быть найден метод расширения« AdvanceClick, принимающий первый аргумент типа «Стандарт» ». Он находит другие свойства просто отлично, я поступаю неправильно способ