HyperLinkDataBindingHandler.DataBindControl Method (IDesignerHost, Control)

 

Resolves design-time data-binding for the specified control.

Namespace:   System.Web.UI.Design
Assembly:  System.Design (in System.Design.dll)

public override void DataBindControl(
	IDesignerHost designerHost,
	Control control
)

Parameters

designerHost
Type: System.ComponentModel.Design.IDesignerHost

The IDesignerHost for the document that contains the control.

control
Type: System.Web.UI.Control

The Control to data bind.

This method determines whether the Text and NavigateUrl properties of the HyperLink control are data-bound. If the Text property is data-bound, this method sets the value of the property to "DataBound". If the NavigateUrl property is data-bound, this method sets the value of the property to a text string so the control will have the appearance of a working hyperlink.

The following code example creates a class, named CustomHyperLinkDataBindingHandler, which derives from the HyperLinkDataBindingHandler class. It resolves design-time data binding for the ImageUrl property of the CustomHyperLink class so that placeholder text is displayed for the property when it is data-bound at design time.

// Derive a class from the HyperLinkDataBindingHandler. It will 
// resolve  data binding for the CustomHyperlink at design time.
public class CustomHyperLinkDataBindingHandler : 
    HyperLinkDataBindingHandler
{
    // Override the DataBindControl to set property values in  
    // the DataBindingCollection at design time.
    public override void DataBindControl(IDesignerHost designerHost, 
        Control control)
    {
        DataBindingCollection bindings = 
            ((IDataBindingsAccessor)control).DataBindings;
        DataBinding imageBinding = bindings["ImageUrl"];

           // If Text is empty, supply a default value.
        if (!(imageBinding == null))
        {
            CustomHyperLink hype = (CustomHyperLink)control;
            hype.ImageUrl = "Image URL.";
        }

        // Call the base method to bind the control.
        base.DataBindControl(designerHost, control);
    } // DataBindControl
} // CustomHyperLinkDataBindingHandler

.NET Framework
Available since 1.1
Return to top
Show: