Zou iemand me kunnen helpen met mijn custom control (button).
In de constructor van deze control check ik of de knop enabled is en pas afhankelijk daarvan de achtergrond van de knop aan.
Nu is het probleem dat als ik in mijn code behind van een pagina de property(enabled) op false zet en de knop gewoon de zelfde opmaak behoudt. Als ik echter kijk met Firebug zie ik dat deze wel op disabled staat.
Klikken op de knop lukt op dat moment wel niet meer(positief).
Tijdens het debuggen zie ik dat hij bij het refreshen de constructor weer doorloopt en hij terug de waarde true bij enabled heeft. Wat zeker ook bijdraagt bij het probleem is dat de constructor van de button uitgevoerd wordt voordat het clickevent enabled op false zet.
Ik heb al geprobeerd de OnPreRender, Render, OnInit te gebruiken ipv alles in de constructor te stoppen.
Zonder enig resultaat
Ik zit al een halve dag te werken aan deze component en heb zelf al heel wat onderzoek gedaan. Desondanks kan ik geen oplossing vinden.
Code:
In de constructor van deze control check ik of de knop enabled is en pas afhankelijk daarvan de achtergrond van de knop aan.
Nu is het probleem dat als ik in mijn code behind van een pagina de property(enabled) op false zet en de knop gewoon de zelfde opmaak behoudt. Als ik echter kijk met Firebug zie ik dat deze wel op disabled staat.
Klikken op de knop lukt op dat moment wel niet meer(positief).
Tijdens het debuggen zie ik dat hij bij het refreshen de constructor weer doorloopt en hij terug de waarde true bij enabled heeft. Wat zeker ook bijdraagt bij het probleem is dat de constructor van de button uitgevoerd wordt voordat het clickevent enabled op false zet.
Ik heb al geprobeerd de OnPreRender, Render, OnInit te gebruiken ipv alles in de constructor te stoppen.
Zonder enig resultaat
Ik zit al een halve dag te werken aan deze component en heb zelf al heel wat onderzoek gedaan. Desondanks kan ik geen oplossing vinden.
Code:
C#: Custom Button
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| namespace MyCustomControls { public class ACMWizardStep : System.Web.UI.WebControls.Button { public int Zindex { set {base.Style.Add("z-index", value.ToString());} } public ACMWizardStep() { base.BackColor = Color.Transparent; base.BorderStyle = BorderStyle.None; base.Height = 35; base.Width = 102; base.ForeColor = Color.FromName("#ECEFF0"); base.Font.Bold = true; base.Style.Add("position", "relative"); base.Style.Add("float", "left"); base.Style.Add("margin-right", "-18px"); base.Style.Add("text-shadow", "1px 1px 1px #31899B"); if (base.Enabled) { base.Style.Add("background-image", "url(../../Images/Wizard/Active.png)"); base.Style.Add("cursor", "pointer"); } else { base.Style.Add("background-image", "url(../../Images/Wizard/Disabled.png)"); base.Style.Add("cursor", "default"); } base.Attributes.Add("onmouseover", "this.style.textShadow='0px 0px 10px #fff'; this.style.textDecoration='underline';"); base.Attributes.Add("onmouseout", "this.style.textShadow='1px 1px 1px #31899B'; this.style.textDecoration='none';"); } } } //De code van mijn pagina waar ik deze component gebruik protected void WizardSteps_Click(object sender, EventArgs e) { WizardStep2.Enabled = true; UpdatePanel2.Update(); } |