Sign In| Join
Get Help:Ask a Question in our Forums|Report a Bug|More Help Resources
Last post Jan 28, 2013 10:18 AM by karanfil.samet
0 Points
2 Posts
Jan 23, 2013 06:42 AM|LINK
When I write down code , ButtonClicks doesn't fire.
Can I catch up clicks event.
[DefaultProperty("Text")] [ToolboxData("<{0}:İmageListControl runat=server></{0}:İmageListControl>")] public class İmageListControl : Panel,IPostBackEventHandler,IPostBackDataHandler { //properties private List<İmageLink> links = null; public List<İmageLink> Links { get { if (links==null) { links = new List<İmageLink>(); return links; }//if return links; }//get }//prop public İmageListControl() { this.ScrollBars = System.Web.UI.WebControls.ScrollBars.Horizontal; }//ctor protected override object SaveViewState() { ArrayList liste = new ArrayList(); liste.Add(base.SaveViewState()); liste.Add(Links); return liste; }//func protected override void LoadViewState(object savedState) { if (savedState!=null) { ArrayList liste=(ArrayList)savedState; base.LoadViewState(liste[0]); links = liste[1] as List<İmageLink>; }//if }//func protected override void CreateChildControls() { base.CreateChildControls(); this.Controls.Clear(); int sayac = 0; foreach (İmageLink i in Links) { sayac++; Panel p = new Panel(); p.ID = "pnl_" + sayac; p.Height = p.Width = 150; Image img = new Image(); img.ID = "img_" + sayac; img.ImageUrl = i.Url; img.Height = img.Width = 100; Button b = new Button(); b.ID = "btn_" + sayac; b.CommandArgument = i.Name; b.Width = 50; b.Height = 50; b.Text = "Delete"; b.Click += new EventHandler(BtnClick); p.Controls.Add(img); p.Controls.Add(b); this.Controls.Add(p); }//foreach ChildControlsCreated = true; }//func protected void BtnClick(object sender, EventArgs e) { }//func protected override void RenderContents(HtmlTextWriter writer) { writer.AddAttribute(HtmlTextWriterAttribute.Width, "1000"); writer.AddAttribute(HtmlTextWriterAttribute.Height, "200"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); foreach (Control item in this.Controls) { writer.RenderBeginTag(HtmlTextWriterTag.Td); item.RenderControl(writer); writer.RenderEndTag(); }//foreach writer.RenderEndTag(); writer.RenderEndTag(); }//func protected override void OnLoad(EventArgs e) { base.OnLoad(e); }//func public void RaisePostBackEvent(string eventArgument) { }//func public bool LoadPostData(string postDataKey, System.Collections.Specialized.NameValueCollection postCollection) { return true; }//func public void RaisePostDataChangedEvent() { }//func }//class [Serializable()] public class İmageLink { private string url; public string Url { get { return url; } set { url = value; } }//prop private string name; public string Name { get { return name; } set { name = value; } }//prop }//class
;
All-Star
118619 Points
18779 Posts
Jan 25, 2013 01:12 AM|LINK
Hi,
I cannot re-produce your issue, would you mind please submitting your whole proj to SkyDrive (only the control and your page that refers the control)?
Jan 28, 2013 10:18 AM|LINK
Issue solved when deriving from composite control.
karanfil.sam...
0 Points
2 Posts
custom control doesn't fire button clicks event
Jan 23, 2013 06:42 AM|LINK
When I write down code , ButtonClicks doesn't fire.
Can I catch up clicks event.
[DefaultProperty("Text")] [ToolboxData("<{0}:İmageListControl runat=server></{0}:İmageListControl>")] public class İmageListControl : Panel,IPostBackEventHandler,IPostBackDataHandler { //properties private List<İmageLink> links = null; public List<İmageLink> Links { get { if (links==null) { links = new List<İmageLink>(); return links; }//if return links; }//get }//prop public İmageListControl() { this.ScrollBars = System.Web.UI.WebControls.ScrollBars.Horizontal; }//ctor protected override object SaveViewState() { ArrayList liste = new ArrayList(); liste.Add(base.SaveViewState()); liste.Add(Links); return liste; }//func protected override void LoadViewState(object savedState) { if (savedState!=null) { ArrayList liste=(ArrayList)savedState; base.LoadViewState(liste[0]); links = liste[1] as List<İmageLink>; }//if }//func protected override void CreateChildControls() { base.CreateChildControls(); this.Controls.Clear(); int sayac = 0; foreach (İmageLink i in Links) { sayac++; Panel p = new Panel(); p.ID = "pnl_" + sayac; p.Height = p.Width = 150; Image img = new Image(); img.ID = "img_" + sayac; img.ImageUrl = i.Url; img.Height = img.Width = 100; Button b = new Button(); b.ID = "btn_" + sayac; b.CommandArgument = i.Name; b.Width = 50; b.Height = 50; b.Text = "Delete"; b.Click += new EventHandler(BtnClick); p.Controls.Add(img); p.Controls.Add(b); this.Controls.Add(p); }//foreach ChildControlsCreated = true; }//func protected void BtnClick(object sender, EventArgs e) { }//func protected override void RenderContents(HtmlTextWriter writer) { writer.AddAttribute(HtmlTextWriterAttribute.Width, "1000"); writer.AddAttribute(HtmlTextWriterAttribute.Height, "200"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); foreach (Control item in this.Controls) { writer.RenderBeginTag(HtmlTextWriterTag.Td); item.RenderControl(writer); writer.RenderEndTag(); }//foreach writer.RenderEndTag(); writer.RenderEndTag(); }//func protected override void OnLoad(EventArgs e) { base.OnLoad(e); }//func public void RaisePostBackEvent(string eventArgument) { }//func public bool LoadPostData(string postDataKey, System.Collections.Specialized.NameValueCollection postCollection) { return true; }//func public void RaisePostDataChangedEvent() { }//func }//class [Serializable()] public class İmageLink { private string url; public string Url { get { return url; } set { url = value; } }//prop private string name; public string Name { get { return name; } set { name = value; } }//prop }//class;
Decker Dong ...
All-Star
118619 Points
18779 Posts
Re: custom control doesn't fire button clicks event
Jan 25, 2013 01:12 AM|LINK
Hi,
I cannot re-produce your issue, would you mind please submitting your whole proj to SkyDrive (only the control and your page that refers the control)?
karanfil.sam...
0 Points
2 Posts
Re: custom control doesn't fire button clicks event
Jan 28, 2013 10:18 AM|LINK
Issue solved when deriving from composite control.