Как я могу программно вызвать нажатие кнопки .net при загрузке страницы? - PullRequest
0 голосов
/ 21 августа 2009

У меня есть событие onclick, похожее на:

public void OnMyButton_Click(object sender, EventArgs e)

Как я могу вызвать это из-за загрузки страницы?

Ответы [ 5 ]

8 голосов
/ 21 августа 2009

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

Вместо вызова вашего обработчика событий из вашего события загрузки, вы должны переместить код в вашем обработчике событий в другой метод, а затем вызвать этот метод как из вашего обработчика события click, так и из вашего метода загрузки страницы.

6 голосов
/ 21 августа 2009

Просто вызовите метод напрямую.

OnMyButton_Click(this, EventArgs.Empty);

Конечно, если вы обнаружите, что программно запускаете события пользовательского интерфейса, вы можете пересмотреть структуру своей страницы.

4 голосов
/ 21 августа 2009

Рефакторинг кода из обработчика события click в отдельный метод и вызов нового метода.

0 голосов
/ 08 января 2019

эта функция - то, что вам нужно:

public static void DoClick(this System.Web.UI.WebControls.Button btn)
{
    System.Reflection.MethodInfo m = typeof(System.Web.UI.WebControls.Button)
        .GetMethod("OnClick", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
    m.Invoke(btn, new object[] { EventArgs.Empty });
}
0 голосов
/ 21 августа 2009
OnMyButton_Click(this.OnMyButton, null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...