1: public class DoubleClickExtender : Control
2: {
3: public DoubleClickExtender()
4: {
5: PreRender += new EventHandler(DoubleClickExtender_PreRender);
6: }
7:
8: void DoubleClickExtender_PreRender(object sender, EventArgs e)
9: {
10: // Register validation script
11: Page.ClientScript.RegisterClientScriptResource(GetType(), "Vp.Core.Web.UI.Extenders.js");
12:
13: WebControl control = NamingContainer.FindControl(TargetControlID) as WebControl;
14: IButtonControl button = control as IButtonControl;
15:
16: if (control != null && button != null)
17: {
18: control.Attributes.Add("onclick", "return CheckAndDisableControl(this);");
19: RegisterExpandoAttribute(control, "validationgroup", button.ValidationGroup, true);
20: RegisterExpandoAttribute(control, "isblocked", "false", true);
21: }
22: }
23:
24: [IDReferenceProperty]
25: public string TargetControlID
26: {
27: get { return ViewState["TargetControlID"] as string; }
28: set { ViewState["TargetControlID"] = value; }
29: }
30: }