我有这个方法,我目前正在制作每个页面,我知道应该有一个很好的方法将它移动到一个地方,以便于维护和简单.我只是不确定如何处理事件处理程序.事件处理程序需要在每个页面上,所以我如何正确传递对页面的引用,以便我可以引用事件处理程序?
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);
}
Run Code Online (Sandbox Code Playgroud)
为什么不直接将事件处理程序作为参数传递给您的方法?
private void InsertLinkButton(string text, string id, UpdatePanel updateSummary,
EventHandler clickHandler)
{
LinkButton link = new LinkButton();
link.Text = text;
link.Click += clickhandler;
...
}
Run Code Online (Sandbox Code Playgroud)
称之为:
InsertLinkButton("text", "id", updatePanel, link_Click);
Run Code Online (Sandbox Code Playgroud)
(假设link_Click是你的方法名.)
| 归档时间: |
|
| 查看次数: |
345 次 |
| 最近记录: |