我目前正在将这种方法放入我制作的每个页面中,我知道应该有一个好方法将其移动到一个位置,以便于维护和简单性。我只是不确定应该如何处理事件处理程序。事件处理程序需要位于每个页面上,那么我如何正确传递对页面的引用以便我可以引用事件处理程序?
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
是您的方法名称。)
关于c# - 来自实用程序类的事件处理程序引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2093716/