Gets or sets the name of the type that contains the property whose value has the data that you want to retrieve.
Assembly: System.Web.Extensions (in System.Web.Extensions.dll)
Public Overrides Property ContextTypeName As String
public override string ContextTypeName { get; set; }
public: virtual property String^ ContextTypeName { String^ get () override; void set (String^ value) override; }
abstract ContextTypeName : string with get, set override ContextTypeName : string with get, set
<asp:LinqDataSource ContextTypeName="String" />
When you use the LinqDataSource control to retrieve data from either an in-memory data collection or a database, you must specify two properties. The first is a data context class that represents the data source. The second is a property in the data context class that contains the data. You set the ContextTypeName property to the name of the data context class and you set the TableName property to the data collection that contains the data.
For example, when you retrieve data from a database, set the ContextTypeName property to the name of the class that represents the database. Also set the TableName property to the property that represents the table in the database. To generate classes from a database, use the O/R Designer or the SqlMetal.exe utility to automatically generate those classes.
When you retrieve data from an in-memory data collection such as an array, set the ContextTypeName property to the name of the class that contains the array property. Then set the TableName property to the property that gets the array.
To enable automatic update, insert, or delete operations through the LinqDataSource control, the class assigned to the ContextTypeName property must derive from DataContext. In addition, the property assigned to the TableName property must derive from Table<TEntity>. If you do not need to enable automatic update, insert, or delete operations, you can assign the name of any type of class to the ContextTypeName property.
For information about how to select data from an instance of a class, see the Result property.
The following example shows how to set the ContextTypeName property to a class that contains an array of strings. It also shows how to set the property to a class (generated by the O/R Designer) that represents a database.
<!-- Retrieve and display data from array of string values --> <asp:LinqDataSource ContextTypeName="MovieLibrary" TableName="AvailableGenres" ID="LinqDataSource1" runat="server"> </asp:LinqDataSource> <asp:DropDownList DataSourceID="LinqDataSource1" runat="server" ID="DropDownList1"> </asp:DropDownList> <!-- Retrieve and display data from database --> <asp:LinqDataSource ContextTypeName="ExampleDataContext" TableName="Movies" Select="Title" ID="LinqDataSource2" runat="server"> </asp:LinqDataSource> <asp:DropDownList DataSourceID="LinqDataSource2" runat="server" ID="DropDownList2"> </asp:DropDownList>
<!-- Retrieve and display data from array of string values --> <asp:LinqDataSource ContextTypeName="MovieLibrary" TableName="AvailableGenres" ID="LinqDataSource1" runat="server"> </asp:LinqDataSource> <asp:DropDownList DataSourceID="LinqDataSource1" runat="server" ID="DropDownList1"> </asp:DropDownList> <!-- Retrieve and display data from database --> <asp:LinqDataSource ContextTypeName="ExampleDataContext" TableName="Movies" Select="Title" ID="LinqDataSource2" runat="server"> </asp:LinqDataSource> <asp:DropDownList DataSourceID="LinqDataSource2" runat="server" ID="DropDownList2"> </asp:DropDownList>
The class named ExampleDataContext that represents the database table is not shown in this example. For this example to work, you must create this class by adding a LINQ To SQL class named Example.dbml and dragging a table named Movie onto the O/R Designer. A class named ExampleDataContext with a property named Movies is generated.
The following example shows the class named MovieLibrary that is referenced in the LinqDataSource control.
Public Class MovieLibrary Dim _availableGenres() As String = {"Comedy", "Drama", "Romance"} Public ReadOnly Property AvailableGenres() As String() Get Return _availableGenres End Get End Property End Class
public class MovieLibrary { string[] _availableGenres = { "Comedy", "Drama", "Romance" }; public MovieLibrary() { } public string[] AvailableGenres { get { return _availableGenres; } } }
.NET Framework
Supported in: 4, 3.5Windows 7, Windows Vista SP1 or later, Windows XP SP3, 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.
Reference
Other Resources
I have a class as
public class MovieLibrary
{
string[] _availableGenres = { "Comedy", "Drama", "Romance" };
public MovieLibrary() { }
public string[] AvailableGenres
{
get { return _availableGenres; }
}
}
and in an aspx page
<asp:LinqDataSource
ContextTypeName="MovieLibrary"
TableName="AvailableGenres"
ID="LinqDataSource1"
runat="server">
</asp:LinqDataSource>
<asp:DropDownList
DataSourceID="LinqDataSource1"
runat="server"
ID="DropDownList1">
</asp:DropDownList>
</asp:Content>
Exception Details: System.Web.HttpException: Could not load type 'MovieLibrary'.