Ik ben momenteel bezig met het schrijven van WebParts en (Web)Controls. Het aanmaken van child controls in webparts en bijbehorende events gaat prima.
Nu probeer ik een WebPartMenu te maken (Control) die bestaat uit een dropdownlist en een button.
Maar de event van de submit knop word nooit gefired. Dezelfde code binnen de WebPart class werkt prima.
Ook als ik de autopostback property op true zet van de dropdown werkt het niet. Wat opvalt is dat binnen de render methode:
Doe ik wellicht iets fout? Ik had wel wat tutorials waar met writer.Write() wordt gewerkt om pure html uit te schrijven samen met UniqueIDs en dan de IPostBackHandler te implementeren maar ik vind dit persoonlijk een mooiere oplossing. Ook wil ik niet met ASCX bestanden werken.
Zover ik er nu achter ben worden er geen server controls aangemaakt? De controls worden gewoon gerenderd als <input> en als <select>, maar niet met id, of name attributes.
bvd.
Nu probeer ik een WebPartMenu te maken (Control) die bestaat uit een dropdownlist en een button.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| protected override void CreateChildControls() { // fetch the webpart manager GetCurrentWebPartManager(); // instance our drop down list ddlModes = new DropDownList(); // populate the list box PopulateListBox(); // instance button submitButton = new Button(); submitButton.Text = "Switch"; submitButton.Click += new EventHandler(submitButton_Click); } |
Maar de event van de submit knop word nooit gefired. Dezelfde code binnen de WebPart class werkt prima.
Ook als ik de autopostback property op true zet van de dropdown werkt het niet. Wat opvalt is dat binnen de render methode:
C#:
1
2
3
4
5
6
7
8
9
10
11
| protected override void Render(HtmlTextWriter writer) { // make sure child controls are created EnsureChildControls(); // render the drop down list ddlModes.RenderControl(writer); // render button submitButton.RenderControl(writer); } |
Doe ik wellicht iets fout? Ik had wel wat tutorials waar met writer.Write() wordt gewerkt om pure html uit te schrijven samen met UniqueIDs en dan de IPostBackHandler te implementeren maar ik vind dit persoonlijk een mooiere oplossing. Ook wil ik niet met ASCX bestanden werken.
Zover ik er nu achter ben worden er geen server controls aangemaakt? De controls worden gewoon gerenderd als <input> en als <select>, maar niet met id, of name attributes.
bvd.