OnSelectedNodeChanged fyrer ikke event på TreeView
Hej Folkens!Jeg har et problem med et asp:TreeView. Jeg har lavet min egen implementation der nedarver fra TreeView, for at kunne lavet et postback når man afkrydser en checkbox. Dette virker fint, men nu bliver der ikke kastet et event når man vælger en node i træet, dvs. OnSelectedNodeChanged. Det virker fint med en standard TreeView kontrol.
Håber der er nogen der kan se hvor det går galt? Tak!
Her er koden til mit ændrede TreeView:
public class TreeViewCheckbox : ASP.TreeView, IPostBackEventHandler
{
public event EventHandler CheckClick;
protected override void Render(HtmlTextWriter writer)
{
StringBuilder builder = new StringBuilder();
using (StringWriter stringWriter = new StringWriter(builder))
{
HtmlTextWriter tempWriter = new HtmlTextWriter(stringWriter);
base.Render(tempWriter);
}
string find = "<input type=\"checkbox\" ";
string replace = "<input type=\"checkbox\" onClick=\"" + getPostBack() + "\" ";
writer.Write(builder.ToString().Replace(find, replace));
}
protected string getPostBack()
{
return this.Page.GetPostBackEventReference(this, "@CheckPostBack");
}
protected virtual void OnCheckClick(EventArgs e)
{
if (CheckClick != null) CheckClick(this, e);
}
void IPostBackEventHandler.RaisePostBackEvent(string eventArgument)
{
OnCheckClick(new EventArgs());
}
}