У меня есть кнопка в моем aspx файле, названном btnTest. .cs файл имеет функцию, которая вызвана, когда кнопка нажата.
btnTest_Click(object sender, EventArgs e)
Как я могу вызвать эту функцию из своего кода (т.е. на самом деле не нажимая кнопку)?
btnTest_Click(null, null);
При условии, что метод не использует ни один из этих параметров (очень часто это не так.)
Честно говоря, это неприятно. Если у вас есть код, который нужно вызывать, вы должны следовать следующему соглашению:
protected void btnTest_Click(object sender, EventArgs e)
{
SomeSub();
}
protected void SomeOtherFunctionThatNeedsToCallTheCode()
{
SomeSub();
}
protected void SomeSub()
{
// ...
}
Это просто метод в вашей форме, вы можете вызывать его так же, как и любой другой метод. Вам просто нужно создать объект EventArgs, чтобы передать ему (и передать ему дескриптор кнопки как отправитель
)
Используйте
btnTest_Click( this, new EventArgs() );
Вы можете вызывать btnTest_Click так же, как и любую другую функцию.
Самая основная форма будет такой:
btnTest_Click(this, null);
Если метод не использует ни sender
, ни e
, вы можете вызвать:
btnTest_Click(null, null);
Что вам, вероятно, следует рассмотреть, так это извлечение кода из этого метода в собственный метод, который вы можете вызвать как из обработчика события нажатия кнопки, так и из любого другого места в коде, где требуется эта функциональность.
Просто позвоните:
btnTest_Click(null, null);
Просто убедитесь, что вы не пытаетесь использовать ни один из этих параметров в функции.