Как я могу программно вызвать нажатие кнопки .net при загрузке страницы?

У меня есть событие onclick, которое выглядит так:

public void OnMyButton_Click(object sender, EventArgs e)

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

Ответы на вопрос(5)

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

OnMyButton_Click(this, EventArgs.Empty);

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

Решение Вопроса

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

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

OnMyButton_Click(this.OnMyButton, null);

е новый метод.

 Erik Forbes21 авг. 2009 г., 02:42
Это может иметь место - хотя я не дал бы такой совет, учитывая информацию, которую мы имеем. Данный проект может быть недостаточно сложным, чтобы гарантировать наличие отдельного бизнес-уровня, и добавление одного к такому проекту будет скорее помехой, чем выгодой.
 David Basarab21 авг. 2009 г., 02:36
в идеале логика должна быть на бизнес-уровне, а веб-страница - только пользовательский интерфейс.

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 });
}

Ваш ответ на вопрос