This topic has not yet been rated - Rate this topic

ControlParameter Class

Binds the value of a property of a Control to a parameter object.

System.Object
  System.Web.UI.WebControls.Parameter
    System.Web.UI.WebControls.ControlParameter

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)
public class ControlParameter : Parameter

The ControlParameter type exposes the following members.

  Name Description
Public method ControlParameter() Initializes a new unnamed instance of the ControlParameter class.
Protected method ControlParameter(ControlParameter) Initializes a new instance of the ControlParameter class with values from the specified instance.
Public method ControlParameter(String, String) Initializes a new named instance of the ControlParameter class, using the specified control name to identify which control to bind to.
Public method ControlParameter(String, String, String) Initializes a new named instance of the ControlParameter class, using the specified property name and control name to identify which control to bind to.
Public method ControlParameter(String, DbType, String, String) Initializes a new instance of the ControlParameter class by using the specified parameter name, database type, control ID, and property name.
Public method ControlParameter(String, TypeCode, String, String) Initializes a new named and strongly typed instance of the ControlParameter class, using the specified property name and control name to identify which control to bind to.
Top
  Name Description
Public property ControlID Specifies the name of the control that the ControlParameter object binds to.
Public property ConvertEmptyStringToNull Gets or sets a value indicating whether the value that the Parameter object is bound to should be converted to null if it is String.Empty. (Inherited from Parameter.)
Public property DbType Gets or sets the database type of the parameter. (Inherited from Parameter.)
Public property DefaultValue Specifies a default value for the parameter, should the value that the parameter is bound to be uninitialized when the Evaluate method is called. (Inherited from Parameter.)
Public property Direction Indicates whether the Parameter object is used to bind a value to a control, or the control can be used to change the value. (Inherited from Parameter.)
Protected property IsTrackingViewState Gets a value indicating whether the Parameter object is saving changes to its view state. (Inherited from Parameter.)
Public property Name Gets or sets the name of the parameter. (Inherited from Parameter.)
Public property PropertyName Gets or sets the property name of the control identified by the ControlID property that the ControlParameter object binds to.
Public property Size Gets or sets the size of the parameter. (Inherited from Parameter.)
Public property Type Gets or sets the type of the parameter. (Inherited from Parameter.)
Protected property ViewState Gets a dictionary of state information that allows you to save and restore the view state of a Parameter object across multiple requests for the same page. (Inherited from Parameter.)
Top
  Name Description
Protected method Clone Returns a duplicate of the current ControlParameter instance. (Overrides Parameter.Clone().)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Evaluate Updates and returns the value of the ControlParameter object. (Overrides Parameter.Evaluate(HttpContext, Control).)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetDatabaseType Gets the DbType value that is equivalent to the CLR type of the current Parameter instance. (Inherited from Parameter.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method LoadViewState Restores the data source view's previously saved view state. (Inherited from Parameter.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnParameterChanged Calls the OnParametersChanged method of the ParameterCollection collection that contains the Parameter object. (Inherited from Parameter.)
Protected method SaveViewState Saves the changes to the Parameter object's view state since the time the page was posted back to the server. (Inherited from Parameter.)
Protected method SetDirty Marks the Parameter object so its state will be recorded in view state. (Inherited from Parameter.)
Public method ToString Converts the value of this instance to its equivalent string representation. (Inherited from Parameter.)
Protected method TrackViewState Causes the Parameter object to track changes to its view state so they can be stored in the control's ViewState object and persisted across requests for the same page. (Inherited from Parameter.)
Top
  Name Description
Explicit interface implemetation Private method ICloneable.Clone Returns a duplicate of the current Parameter instance. (Inherited from Parameter.)
Explicit interface implemetation Private property IStateManager.IsTrackingViewState Infrastructure. Gets a value indicating whether the Parameter object is saving changes to its view state. (Inherited from Parameter.)
Explicit interface implemetation Private method IStateManager.LoadViewState Infrastructure. Restores the data source view's previously saved view state. (Inherited from Parameter.)
Explicit interface implemetation Private method IStateManager.SaveViewState Infrastructure. Saves the changes to the Parameter object's view state since the time the page was posted back to the server. (Inherited from Parameter.)
Explicit interface implemetation Private method IStateManager.TrackViewState Infrastructure. Causes the Parameter object to track changes to its view state so they can be stored in the control's ViewState object and persisted across requests for the same page. (Inherited from Parameter.)
Top

You can use the ControlParameter class to bind the value of a Control property, such as SelectedValue or SelectedIndex, to a parameter that is used in a parameterized SQL query, business object method, or filtering expression.

The ControlParameter class provides two properties in addition to those inherited from the Parameter class: ControlID and PropertyName. The ControlID property identifies which Control instance to bind to and the PropertyName property identifies the public property of the Control from which the ControlParameter class retrieves a value.

The following code example demonstrates how to use a ControlParameter object to bind data displayed in a ListBox control to the selected value of a DropDownList control in a declarative scenario. The ControlParameter object is added to the SelectParameters collection of the SqlDataSource control on the form, and corresponds to the "@Title" placeholder text in the SelectCommand property.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <p><asp:dropdownlist
          id="DropDownList1"
          runat="server"
          autopostback="True">
          <asp:listitem selected="True">Sales Representative</asp:listitem>
          <asp:listitem>Sales Manager</asp:listitem>
          <asp:listitem>Vice President, Sales</asp:listitem>
      </asp:dropdownlist></p>

      <asp:sqldatasource
          id="SqlDataSource1"
          runat="server"
          connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
          selectcommand="SELECT LastName FROM Employees WHERE Title = @Title">
          <selectparameters>
              <asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/>
          </selectparameters>
      </asp:sqldatasource>

      <p><asp:listbox
          id="ListBox1"
          runat="server"
          datasourceid="SqlDataSource1"
          datatextfield="LastName">
      </asp:listbox></p>

    </form>
  </body>
</html>


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Another control example
To access SelectedDataKey on Listview:
 
<asp:ControlParameter Name="CategoryID" Type="Int32" ControlID="lvCategories" PropertyName="SelectedDataKey.Value" />