У меня есть этот метод, который я сейчас вставляю в каждую страницу, которую я делаю, я знаю, что должен быть хороший способ переместить его в одно место для простоты обслуживания и простоты. Я просто не знаю, как мне обращаться с обработчиком событий. Обработчик событий должен быть на каждой странице, так как я могу передать ссылку на страницу правильно, чтобы я мог ссылаться на обработчик событий?
private void InsertLinkButton(string text, string id, UpdatePanel updateSummary)
{
LinkButton link = new LinkButton();
link.Text = text;
link.Click += new EventHandler(link_Click); <------
link.CausesValidation = false;
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = link.ID = "link" + id;
trigger.EventName = "Click";
Utils.Tag(link, placeHolderSummary);
updateSummary.Triggers.Add(trigger);
}
Почему бы просто передать обработчик события в свой метод в качестве аргумента?
private void InsertLinkButton(string text, string id, UpdatePanel updateSummary,
EventHandler clickHandler)
{
LinkButton link = new LinkButton();
link.Text = text;
link.Click += clickhandler;
...
}
Позвоните по следующему адресу:
InsertLinkButton("text", "id", updatePanel, link_Click);
(Предполагая, что link_Click
- ваше имя метода.)
Я не очень люблю ASP.NET, но я сделал что-то актуальное в формах Windows. У меня была FormBase, в которой у меня была общая функциональность, и из производного я делал все, что хотел. Я подключил события и другие вещи, такие как аутентификация.