DataSourceControl Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Serves as the base class for controls that represent data sources to data-bound controls.
public ref class DataSourceControl abstract : System::Web::UI::Control, System::ComponentModel::IListSource, System::Web::UI::IDataSource
[System.ComponentModel.Bindable(false)]
public abstract class DataSourceControl : System.Web.UI.Control, System.ComponentModel.IListSource, System.Web.UI.IDataSource
[<System.ComponentModel.Bindable(false)>]
type DataSourceControl = class
inherit Control
interface IDataSource
interface IListSource
Public MustInherit Class DataSourceControl
Inherits Control
Implements IDataSource, IListSource
- Inheritance
- Derived
- Attributes
- Implements
Examples
The following code example demonstrates how a class can extend the DataSourceControl class. The CsvDataSource
control represents comma-separated file data stored in a .csv file. The CsvDataSource
class provides its own implementations of the GetView, GetViewNames, and other methods, because the base class implementations are not functional.
using System;
using System.Collections;
using System.Data;
using System.IO;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
// The CsvDataSource is a data source control that retrieves its
// data from a comma-separated value file.
[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public class CsvDataSource : DataSourceControl
{
public CsvDataSource() : base() {}
// The comma-separated value file to retrieve data from.
public string FileName {
get {
return ((CsvDataSourceView)this.GetView(String.Empty)).SourceFile;
}
set {
// Only set if it is different.
if ( ((CsvDataSourceView)this.GetView(String.Empty)).SourceFile != value) {
((CsvDataSourceView)this.GetView(String.Empty)).SourceFile = value;
RaiseDataSourceChangedEvent(EventArgs.Empty);
}
}
}
// Do not add the column names as a data row. Infer columns if the CSV file does
// not include column names.
public bool IncludesColumnNames {
get {
return ((CsvDataSourceView)this.GetView(String.Empty)).IncludesColumnNames;
}
set {
// Only set if it is different.
if ( ((CsvDataSourceView)this.GetView(String.Empty)).IncludesColumnNames != value) {
((CsvDataSourceView)this.GetView(String.Empty)).IncludesColumnNames = value;
RaiseDataSourceChangedEvent(EventArgs.Empty);
}
}
}
// Return a strongly typed view for the current data source control.
private CsvDataSourceView view = null;
protected override DataSourceView GetView(string viewName) {
if (null == view) {
view = new CsvDataSourceView(this, String.Empty);
}
return view;
}
// The ListSourceHelper class calls GetList, which
// calls the DataSourceControl.GetViewNames method.
// Override the original implementation to return
// a collection of one element, the default view name.
protected override ICollection GetViewNames() {
ArrayList al = new ArrayList(1);
al.Add(CsvDataSourceView.DefaultViewName);
return al as ICollection;
}
}
// The CsvDataSourceView class encapsulates the
// capabilities of the CsvDataSource data source control.
public class CsvDataSourceView : DataSourceView
{
public CsvDataSourceView(IDataSource owner, string name) :base(owner, DefaultViewName) {
}
// The data source view is named. However, the CsvDataSource
// only supports one view, so the name is ignored, and the
// default name used instead.
public static string DefaultViewName = "CommaSeparatedView";
// The location of the .csv file.
private string sourceFile = String.Empty;
internal string SourceFile {
get {
return sourceFile;
}
set {
// Use MapPath when the SourceFile is set, so that files local to the
// current directory can be easily used.
string mappedFileName = HttpContext.Current.Server.MapPath(value);
sourceFile = mappedFileName;
}
}
// Do not add the column names as a data row. Infer columns if the CSV file does
// not include column names.
private bool columns = false;
internal bool IncludesColumnNames {
get {
return columns;
}
set {
columns = value;
}
}
// Get data from the underlying data source.
// Build and return a DataView, regardless of mode.
protected override IEnumerable ExecuteSelect(DataSourceSelectArguments selectArgs) {
IEnumerable dataList = null;
// Open the .csv file.
if (File.Exists(this.SourceFile)) {
DataTable data = new DataTable();
// Open the file to read from.
using (StreamReader sr = File.OpenText(this.SourceFile)) {
// Parse the line
string s = "";
string[] dataValues;
DataColumn col;
// Do the following to add schema.
dataValues = sr.ReadLine().Split(',');
// For each token in the comma-delimited string, add a column
// to the DataTable schema.
foreach (string token in dataValues) {
col = new DataColumn(token,typeof(string));
data.Columns.Add(col);
}
// Do not add the first row as data if the CSV file includes column names.
if (!IncludesColumnNames)
data.Rows.Add(CopyRowData(dataValues, data.NewRow()));
// Do the following to add data.
while ((s = sr.ReadLine()) != null) {
dataValues = s.Split(',');
data.Rows.Add(CopyRowData(dataValues, data.NewRow()));
}
}
data.AcceptChanges();
DataView dataView = new DataView(data);
if (!string.IsNullOrEmpty(selectArgs.SortExpression)) {
dataView.Sort = selectArgs.SortExpression;
}
dataList = dataView;
}
else {
throw new System.Configuration.ConfigurationErrorsException("File not found, " + this.SourceFile);
}
if (null == dataList) {
throw new InvalidOperationException("No data loaded from data source.");
}
return dataList;
}
private DataRow CopyRowData(string[] source, DataRow target) {
try {
for (int i = 0;i < source.Length;i++) {
target[i] = source[i];
}
}
catch (System.IndexOutOfRangeException) {
// There are more columns in this row than
// the original schema allows. Stop copying
// and return the DataRow.
return target;
}
return target;
}
// The CsvDataSourceView does not currently
// permit deletion. You can modify or extend
// this sample to do so.
public override bool CanDelete {
get {
return false;
}
}
protected override int ExecuteDelete(IDictionary keys, IDictionary values)
{
throw new NotSupportedException();
}
// The CsvDataSourceView does not currently
// permit insertion of a new record. You can
// modify or extend this sample to do so.
public override bool CanInsert {
get {
return false;
}
}
protected override int ExecuteInsert(IDictionary values)
{
throw new NotSupportedException();
}
// The CsvDataSourceView does not currently
// permit update operations. You can modify or
// extend this sample to do so.
public override bool CanUpdate {
get {
return false;
}
}
protected override int ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues)
{
throw new NotSupportedException();
}
}
Imports System.Collections
Imports System.Data
Imports System.IO
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace Samples.AspNet.VB.Controls
' The CsvDataSource is a data source control that retrieves its
' data from a comma-separated value file.
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class CsvDataSource
Inherits DataSourceControl
Public Sub New()
End Sub
' The comma-separated value file to retrieve data from.
Public Property FileName() As String
Get
Return CType(Me.GetView([String].Empty), CsvDataSourceView).SourceFile
End Get
Set
' Only set if it is different.
If CType(Me.GetView([String].Empty), CsvDataSourceView).SourceFile <> value Then
CType(Me.GetView([String].Empty), CsvDataSourceView).SourceFile = value
RaiseDataSourceChangedEvent(EventArgs.Empty)
End If
End Set
End Property
' Do not add the column names as a data row. Infer columns if the CSV file does
' not include column names.
Public Property IncludesColumnNames() As Boolean
Get
Return CType(Me.GetView([String].Empty), CsvDataSourceView).IncludesColumnNames
End Get
Set
' Only set if it is different.
If CType(Me.GetView([String].Empty), CsvDataSourceView).IncludesColumnNames <> value Then
CType(Me.GetView([String].Empty), CsvDataSourceView).IncludesColumnNames = value
RaiseDataSourceChangedEvent(EventArgs.Empty)
End If
End Set
End Property
' Return a strongly typed view for the current data source control.
Private view As CsvDataSourceView = Nothing
Protected Overrides Function GetView(viewName As String) As DataSourceView
If view Is Nothing Then
view = New CsvDataSourceView(Me, String.Empty)
End If
Return view
End Function 'GetView
' The ListSourceHelper class calls GetList, which
' calls the DataSourceControl.GetViewNames method.
' Override the original implementation to return
' a collection of one element, the default view name.
Protected Overrides Function GetViewNames() As ICollection
Dim al As New ArrayList(1)
al.Add(CsvDataSourceView.DefaultViewName)
Return CType(al, ICollection)
End Function 'GetViewNames
End Class
' The CsvDataSourceView class encapsulates the
' capabilities of the CsvDataSource data source control.
Public Class CsvDataSourceView
Inherits DataSourceView
Public Sub New(owner As IDataSource, name As String)
MyBase.New(owner, DefaultViewName)
End Sub
' The data source view is named. However, the CsvDataSource
' only supports one view, so the name is ignored, and the
' default name used instead.
Public Shared DefaultViewName As String = "CommaSeparatedView"
' The location of the .csv file.
Private aSourceFile As String = [String].Empty
Friend Property SourceFile() As String
Get
Return aSourceFile
End Get
Set
' Use MapPath when the SourceFile is set, so that files local to the
' current directory can be easily used.
Dim mappedFileName As String
mappedFileName = HttpContext.Current.Server.MapPath(value)
aSourceFile = mappedFileName
End Set
End Property
' Do not add the column names as a data row. Infer columns if the CSV file does
' not include column names.
Private columns As Boolean = False
Friend Property IncludesColumnNames() As Boolean
Get
Return columns
End Get
Set
columns = value
End Set
End Property
' Get data from the underlying data source.
' Build and return a DataView, regardless of mode.
Protected Overrides Function ExecuteSelect(selectArgs As DataSourceSelectArguments) _
As System.Collections.IEnumerable
Dim dataList As IEnumerable = Nothing
' Open the .csv file.
If File.Exists(Me.SourceFile) Then
Dim data As New DataTable()
' Open the file to read from.
Dim sr As StreamReader = File.OpenText(Me.SourceFile)
Try
' Parse the line
Dim dataValues() As String
Dim col As DataColumn
' Do the following to add schema.
dataValues = sr.ReadLine().Split(","c)
' For each token in the comma-delimited string, add a column
' to the DataTable schema.
Dim token As String
For Each token In dataValues
col = New DataColumn(token, System.Type.GetType("System.String"))
data.Columns.Add(col)
Next token
' Do not add the first row as data if the CSV file includes column names.
If Not IncludesColumnNames Then
data.Rows.Add(CopyRowData(dataValues, data.NewRow()))
End If
' Do the following to add data.
Dim s As String
Do
s = sr.ReadLine()
If Not s Is Nothing Then
dataValues = s.Split(","c)
data.Rows.Add(CopyRowData(dataValues, data.NewRow()))
End If
Loop Until s Is Nothing
Finally
sr.Close()
End Try
data.AcceptChanges()
Dim dataView As New DataView(data)
If Not selectArgs.SortExpression Is String.Empty Then
dataView.Sort = selectArgs.SortExpression
End If
dataList = dataView
Else
Throw New System.Configuration.ConfigurationErrorsException("File not found, " + Me.SourceFile)
End If
If dataList is Nothing Then
Throw New InvalidOperationException("No data loaded from data source.")
End If
Return dataList
End Function 'ExecuteSelect
Private Function CopyRowData([source]() As String, target As DataRow) As DataRow
Try
Dim i As Integer
For i = 0 To [source].Length - 1
target(i) = [source](i)
Next i
Catch iore As IndexOutOfRangeException
' There are more columns in this row than
' the original schema allows. Stop copying
' and return the DataRow.
Return target
End Try
Return target
End Function 'CopyRowData
' The CsvDataSourceView does not currently
' permit deletion. You can modify or extend
' this sample to do so.
Public Overrides ReadOnly Property CanDelete() As Boolean
Get
Return False
End Get
End Property
Protected Overrides Function ExecuteDelete(keys As IDictionary, values As IDictionary) As Integer
Throw New NotSupportedException()
End Function 'ExecuteDelete
' The CsvDataSourceView does not currently
' permit insertion of a new record. You can
' modify or extend this sample to do so.
Public Overrides ReadOnly Property CanInsert() As Boolean
Get
Return False
End Get
End Property
Protected Overrides Function ExecuteInsert(values As IDictionary) As Integer
Throw New NotSupportedException()
End Function 'ExecuteInsert
' The CsvDataSourceView does not currently
' permit update operations. You can modify or
' extend this sample to do so.
Public Overrides ReadOnly Property CanUpdate() As Boolean
Get
Return False
End Get
End Property
Protected Overrides Function ExecuteUpdate(keys As IDictionary, _
values As IDictionary, _
oldValues As IDictionary) As Integer
Throw New NotSupportedException()
End Function 'ExecuteUpdate
End Class
End Namespace
The following code example demonstrates how to use the CsvDataSource
control in a Web form.
<%@ Page Language="C#" %>
<%@ Register Tagprefix="aspSample"
Namespace="Samples.AspNet.CS.Controls" %>
<!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">
<asp:gridview
id="GridView1"
runat="server"
allowsorting="True"
datasourceid="CsvDataSource1" />
<aspSample:CsvDataSource
id = "CsvDataSource1"
runat = "server"
filename = "sample.csv"
includescolumnnames="True" />
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Register Tagprefix="aspSample"
Namespace="Samples.AspNet.VB.Controls" %>
<!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">
<asp:gridview
id="GridView1"
runat="server"
allowsorting="True"
datasourceid="CsvDataSource1" />
<aspSample:CsvDataSource
id = "CsvDataSource1"
runat = "server"
filename = "sample.csv"
includescolumnnames="True" />
</form>
</body>
</html>
Remarks
ASP.NET supports a control data-binding architecture that enables Web server controls to bind to data in a consistent fashion. Web server controls that bind to data are referred to as data-bound controls, and the classes that facilitate that binding are called data source controls. Data source controls can represent any data source: a relational database, a file, a stream, a business object, and so on. Data source controls present data in a consistent way to data-bound controls, regardless of the source or format of the underlying data.
You use the data source controls that are provided with ASP.NET, including SqlDataSource, AccessDataSource, and XmlDataSource, to perform most Web development tasks. You use the base DataSourceControl class when you want to implement your own custom data source control.
While any class that implements the IDataSource interface is a data source control, most ASP.NET data source controls extend the abstract DataSourceControl class, which provides a base implementation of the IDataSource interface. The DataSourceControl class also provides an implementation of the IListSource interface, which enables you to programmatically assign the data source control to the DataSource
property of a data-bound control and return data to the control as a basic list.
Any ASP.NET control that derives from the DataBoundControl class can bind to a data source control. When a DataBoundControl is bound to a data source control, data binding is performed automatically at run time. You can also use data source controls with ASP.NET controls that expose a DataSource
or DataSourceID
property and support basic data binding, but are not derived from DataBoundControl. When using these data-bound controls, you must explicitly call the DataBind
method. For more information on data binding, see ASP.NET Data Access Content Map.
You can think of a data source control as the combination of the DataSourceControl object and its associated lists of data, called data source views. Each list of data is represented by a DataSourceView object. Because the underlying data storage contains one or more lists of data, a DataSourceControl is always associated with one or more named DataSourceView objects. The IDataSource interface defines the methods that all data source controls use to interact with data source views: the GetViewNames method is used to enumerate the data source views currently associated with the data source control, and the GetView method is used to retrieve a specific data source view instance by name.
You can also think of the data source control as two distinct interfaces that callers use to access data. The DataSourceControl class is the interface that page developers interact with directly when developing a Web Forms page, and the DataSourceView class is the interface that data-bound controls and data-bound control authors interact with. Because the DataSourceView object is available only at run time, any state persisted for the data source control or data source view must be exposed directly by the data source control.
There is no visual rendering of ASP.NET data source controls; they are implemented as controls so you can create them declaratively, and to optionally allow them to participate in state management. As a result, data source controls do not support visual features such as EnableTheming or SkinID.
Constructors
DataSourceControl() |
Initializes a new instance of the DataSourceControl class. |
Properties
Adapter |
Gets the browser-specific adapter for the control. (Inherited from Control) |
AppRelativeTemplateSourceDirectory |
Gets or sets the application-relative virtual directory of the Page or UserControl object that contains this control. (Inherited from Control) |
BindingContainer |
Gets the control that contains this control's data binding. (Inherited from Control) |
ChildControlsCreated |
Gets a value that indicates whether the server control's child controls have been created. (Inherited from Control) |
ClientID |
Gets the server control identifier generated by ASP.NET. |
ClientIDMode |
This property is not used for data source controls. |
ClientIDMode |
Gets or sets the algorithm that is used to generate the value of the ClientID property. (Inherited from Control) |
ClientIDSeparator |
Gets a character value representing the separator character used in the ClientID property. (Inherited from Control) |
Context |
Gets the HttpContext object associated with the server control for the current Web request. (Inherited from Control) |
Controls |
Gets a ControlCollection object that represents the child controls for a specified server control in the UI hierarchy. |
DataItemContainer |
Gets a reference to the naming container if the naming container implements IDataItemContainer. (Inherited from Control) |
DataKeysContainer |
Gets a reference to the naming container if the naming container implements IDataKeysControl. (Inherited from Control) |
DesignMode |
Gets a value indicating whether a control is being used on a design surface. (Inherited from Control) |
EnableTheming |
Gets a value indicating whether this control supports themes. |
EnableViewState |
Gets or sets a value indicating whether the server control persists its view state, and the view state of any child controls it contains, to the requesting client. (Inherited from Control) |
Events |
Gets a list of event handler delegates for the control. This property is read-only. (Inherited from Control) |
HasChildViewState |
Gets a value indicating whether the current server control's child controls have any saved view-state settings. (Inherited from Control) |
ID |
Gets or sets the programmatic identifier assigned to the server control. (Inherited from Control) |
IdSeparator |
Gets the character used to separate control identifiers. (Inherited from Control) |
IsChildControlStateCleared |
Gets a value indicating whether controls contained within this control have control state. (Inherited from Control) |
IsTrackingViewState |
Gets a value that indicates whether the server control is saving changes to its view state. (Inherited from Control) |
IsViewStateEnabled |
Gets a value indicating whether view state is enabled for this control. (Inherited from Control) |
LoadViewStateByID |
Gets a value indicating whether the control participates in loading its view state by ID instead of index. (Inherited from Control) |
NamingContainer |
Gets a reference to the server control's naming container, which creates a unique namespace for differentiating between server controls with the same ID property value. (Inherited from Control) |
Page |
Gets a reference to the Page instance that contains the server control. (Inherited from Control) |
Parent |
Gets a reference to the server control's parent control in the page control hierarchy. (Inherited from Control) |
RenderingCompatibility |
Gets a value that specifies the ASP.NET version that rendered HTML will be compatible with. (Inherited from Control) |
Site |
Gets information about the container that hosts the current control when rendered on a design surface. (Inherited from Control) |
SkinID |
Gets the skin to apply to the DataSourceControl control. |
TemplateControl |
Gets or sets a reference to the template that contains this control. (Inherited from Control) |
TemplateSourceDirectory |
Gets the virtual directory of the Page or UserControl that contains the current server control. (Inherited from Control) |
UniqueID |
Gets the unique, hierarchically qualified identifier for the server control. (Inherited from Control) |
ValidateRequestMode |
Gets or sets a value that indicates whether the control checks client input from the browser for potentially dangerous values. (Inherited from Control) |
ViewState |
Gets a dictionary of state information that allows you to save and restore the view state of a server control across multiple requests for the same page. (Inherited from Control) |
ViewStateIgnoresCase |
Gets a value that indicates whether the StateBag object is case-insensitive. (Inherited from Control) |
ViewStateMode |
Gets or sets the view-state mode of this control. (Inherited from Control) |
Visible |
Gets or sets a value indicating whether the control is visually displayed. |
Methods
AddedControl(Control, Int32) |
Called after a child control is added to the Controls collection of the Control object. (Inherited from Control) |
AddParsedSubObject(Object) |
Notifies the server control that an element, either XML or HTML, was parsed, and adds the element to the server control's ControlCollection object. (Inherited from Control) |
ApplyStyleSheetSkin(Page) |
Applies the style properties that are defined in the page style sheet to the control. |
BeginRenderTracing(TextWriter, Object) |
Begins design-time tracing of rendering data. (Inherited from Control) |
BuildProfileTree(String, Boolean) |
Gathers information about the server control and delivers it to the Trace property to be displayed when tracing is enabled for the page. (Inherited from Control) |
ClearCachedClientID() |
Sets the cached ClientID value to |
ClearChildControlState() |
Deletes the control-state information for the server control's child controls. (Inherited from Control) |
ClearChildState() |
Deletes the view-state and control-state information for all the server control's child controls. (Inherited from Control) |
ClearChildViewState() |
Deletes the view-state information for all the server control's child controls. (Inherited from Control) |
ClearEffectiveClientIDMode() |
Sets the ClientIDMode property of the current control instance and of any child controls to Inherit. (Inherited from Control) |
CreateChildControls() |
Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering. (Inherited from Control) |
CreateControlCollection() |
Creates a collection to store child controls. |
DataBind() |
Binds a data source to the invoked server control and all its child controls. (Inherited from Control) |
DataBind(Boolean) |
Binds a data source to the invoked server control and all its child controls with an option to raise the DataBinding event. (Inherited from Control) |
DataBindChildren() |
Binds a data source to the server control's child controls. (Inherited from Control) |
Dispose() |
Enables a server control to perform final clean up before it is released from memory. (Inherited from Control) |
EndRenderTracing(TextWriter, Object) |
Ends design-time tracing of rendering data. (Inherited from Control) |
EnsureChildControls() |
Determines whether the server control contains child controls. If it does not, it creates child controls. (Inherited from Control) |
EnsureID() |
Creates an identifier for controls that do not have an identifier assigned. (Inherited from Control) |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
FindControl(String, Int32) |
Searches the current naming container for a server control with the specified |
FindControl(String) |
Searches the current naming container for a server control with the specified |
Focus() |
Sets input focus to the control. |
GetDesignModeState() |
Gets design-time data for a control. (Inherited from Control) |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetRouteUrl(Object) |
Gets the URL that corresponds to a set of route parameters. (Inherited from Control) |
GetRouteUrl(RouteValueDictionary) |
Gets the URL that corresponds to a set of route parameters. (Inherited from Control) |
GetRouteUrl(String, Object) |
Gets the URL that corresponds to a set of route parameters and a route name. (Inherited from Control) |
GetRouteUrl(String, RouteValueDictionary) |
Gets the URL that corresponds to a set of route parameters and a route name. (Inherited from Control) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
GetUniqueIDRelativeTo(Control) |
Returns the prefixed portion of the UniqueID property of the specified control. (Inherited from Control) |
GetView(String) |
Gets the named data source view associated with the data source control. |
GetViewNames() |
Gets a collection of names, representing the list of DataSourceView objects associated with the DataSourceControl control. |
HasControls() |
Determines if the server control contains any child controls. |
HasEvents() |
Returns a value indicating whether events are registered for the control or any child controls. (Inherited from Control) |
IsLiteralContent() |
Determines if the server control holds only literal content. (Inherited from Control) |
LoadControlState(Object) |
Restores control-state information from a previous page request that was saved by the SaveControlState() method. (Inherited from Control) |
LoadViewState(Object) |
Restores view-state information from a previous page request that was saved by the SaveViewState() method. (Inherited from Control) |
MapPathSecure(String) |
Retrieves the physical path that a virtual path, either absolute or relative, maps to. (Inherited from Control) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
OnBubbleEvent(Object, EventArgs) |
Determines whether the event for the server control is passed up the page's UI server control hierarchy. (Inherited from Control) |
OnDataBinding(EventArgs) |
Raises the DataBinding event. (Inherited from Control) |
OnInit(EventArgs) |
Raises the Init event. (Inherited from Control) |
OnLoad(EventArgs) |
Raises the Load event. (Inherited from Control) |
OnPreRender(EventArgs) |
Raises the PreRender event. (Inherited from Control) |
OnUnload(EventArgs) |
Raises the Unload event. (Inherited from Control) |
OpenFile(String) |
Gets a Stream used to read a file. (Inherited from Control) |
RaiseBubbleEvent(Object, EventArgs) |
Assigns any sources of the event and its information to the control's parent. (Inherited from Control) |
RaiseDataSourceChangedEvent(EventArgs) |
Raises the DataSourceChanged event. |
RemovedControl(Control) |
Called after a child control is removed from the Controls collection of the Control object. (Inherited from Control) |
Render(HtmlTextWriter) |
Sends server control content to a provided HtmlTextWriter object, which writes the content to be rendered on the client. (Inherited from Control) |
RenderChildren(HtmlTextWriter) |
Outputs the content of a server control's children to a provided HtmlTextWriter object, which writes the content to be rendered on the client. (Inherited from Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Outputs server control content to a provided HtmlTextWriter object using a provided ControlAdapter object. (Inherited from Control) |
RenderControl(HtmlTextWriter) |
Outputs server control content to a provided HtmlTextWriter object and stores tracing information about the control if tracing is enabled. |
ResolveAdapter() |
Gets the control adapter responsible for rendering the specified control. (Inherited from Control) |
ResolveClientUrl(String) |
Gets a URL that can be used by the browser. (Inherited from Control) |
ResolveUrl(String) |
Converts a URL into one that is usable on the requesting client. (Inherited from Control) |
SaveControlState() |
Saves any server control state changes that have occurred since the time the page was posted back to the server. (Inherited from Control) |
SaveViewState() |
Saves any server control view-state changes that have occurred since the time the page was posted back to the server. (Inherited from Control) |
SetDesignModeState(IDictionary) |
Sets design-time data for a control. (Inherited from Control) |
SetRenderMethodDelegate(RenderMethod) |
Assigns an event handler delegate to render the server control and its content into its parent control. (Inherited from Control) |
SetTraceData(Object, Object, Object) |
Sets trace data for design-time tracing of rendering data, using the traced object, the trace data key, and the trace data value. (Inherited from Control) |
SetTraceData(Object, Object) |
Sets trace data for design-time tracing of rendering data, using the trace data key and the trace data value. (Inherited from Control) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
TrackViewState() |
Causes tracking of view-state changes to the server control so they can be stored in the server control's StateBag object. This object is accessible through the ViewState property. (Inherited from Control) |
Events
DataBinding |
Occurs when the server control binds to a data source. (Inherited from Control) |
Disposed |
Occurs when a server control is released from memory, which is the last stage of the server control lifecycle when an ASP.NET page is requested. (Inherited from Control) |
Init |
Occurs when the server control is initialized, which is the first step in its lifecycle. (Inherited from Control) |
Load |
Occurs when the server control is loaded into the Page object. (Inherited from Control) |
PreRender |
Occurs after the Control object is loaded but prior to rendering. (Inherited from Control) |
Unload |
Occurs when the server control is unloaded from memory. (Inherited from Control) |
Explicit Interface Implementations
IControlBuilderAccessor.ControlBuilder |
For a description of this member, see ControlBuilder. (Inherited from Control) |
IControlDesignerAccessor.GetDesignModeState() |
For a description of this member, see GetDesignModeState(). (Inherited from Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
For a description of this member, see SetDesignModeState(IDictionary). (Inherited from Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
For a description of this member, see SetOwnerControl(Control). (Inherited from Control) |
IControlDesignerAccessor.UserData |
For a description of this member, see UserData. (Inherited from Control) |
IDataBindingsAccessor.DataBindings |
For a description of this member, see DataBindings. (Inherited from Control) |
IDataBindingsAccessor.HasDataBindings |
For a description of this member, see HasDataBindings. (Inherited from Control) |
IDataSource.DataSourceChanged |
Occurs when a data source control has changed in a way that affects data-bound controls. |
IDataSource.GetView(String) |
Gets the named DataSourceView object associated with the DataSourceControl control. Some data source controls support only one view, while others support more than one. |
IDataSource.GetViewNames() |
Gets a collection of names, representing the list of DataSourceView objects associated with the DataSourceControl control. |
IExpressionsAccessor.Expressions |
For a description of this member, see Expressions. (Inherited from Control) |
IExpressionsAccessor.HasExpressions |
For a description of this member, see HasExpressions. (Inherited from Control) |
IListSource.ContainsListCollection |
Indicates whether the data source control is associated with one or more lists of data. |
IListSource.GetList() |
Gets a list of data source controls that can be used as sources of lists of data. |
IParserAccessor.AddParsedSubObject(Object) |
For a description of this member, see AddParsedSubObject(Object). (Inherited from Control) |
Extension Methods
FindDataSourceControl(Control) |
Returns the data source that is associated with the data control for the specified control. |
FindFieldTemplate(Control, String) |
Returns the field template for the specified column in the specified control's naming container. |
FindMetaTable(Control) |
Returns the metatable object for the containing data control. |
GetDefaultValues(IDataSource) |
Gets the collection of the default values for the specified data source. |
GetMetaTable(IDataSource) |
Gets the metadata for a table in the specified data source object. |
TryGetMetaTable(IDataSource, MetaTable) |
Determines whether table metadata is available. |