In this example we are going to use another ObjectDataSource similar to SqlDataSource, also support editable data binding. (Note:XmlDatasource does not support editable binding, obviously). This data source " ObjectDataSource " offers more option than LINQ Datasource.(LINQ does faster diatabinding control than ObjectDatasource)

The data mechanics is handled by an object "DataSet" that renders the bound data controls to edit data while view . This DataSet object is an integrated part of  ADO.Net, it takes

 public DataSet MyData()
{
string commandtext = "SELECT * FROM DemoObj1";
SqlDataAdapter sda = new SqlDataAdapter(commandtext, cnnstr);
DataSet ds = new DataSet();
using (sda)
{
sda.Fill(ds);
}
return ds;
}

Step: 1

 

Step 2 Add a database, and add this table as shown below.

Add some values

Add a class in App_code folder

<add name="Movies" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />
 

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ObjectData1.mdf;Integrated Security=True;User Instance=True

Before we code the above class let us configure SQLdatasource and ObjectDataSource

Configure SqlDataSource1, to comapare with ObjectDataSource , (we will create later ).

Click Next and Then Finish. That adds the following connection string in Web.config as shown below

<connectionStrings>
<add name="ObjDataConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ObjectData1.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>

Now Code Object

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
//Webconfiguration
using System.Web.Configuration;
using System.Data.SqlClient;

/// <summary>
/// Summary description for ObjClass1
/// </summary>
public class ObjClass1
{
public readonly string cnnstr;
public ObjClass1()
{
//
// TODO: Add constructor logic here
//
cnnstr = WebConfigurationManager.ConnectionStrings["ObjDataConnection"].ConnectionString;
}
public DataSet MyData()
{
string commandtext = "SELECT * FROM DemoObj1";
SqlDataAdapter sda = new SqlDataAdapter(commandtext, cnnstr);
DataSet ds = new DataSet();
using (sda)
{
sda.Fill(ds);
}
return ds;
}
}
 

Code Default.aspx.cs

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.Configuration;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{

protected void Page_Load(object sender, EventArgs e)
{
ObjClass1 obj = new ObjClass1();
Label1.Text += "<br/> SqlDataSource1.ConnectionString : "
+ SqlDataSource1.ConnectionString;
Label1.Text += "<br/> obj.cnnstr : " + obj.cnnstr;

}
}
 

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Debug="true" %>

<!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>mm.ObjData1: Default page</title>
</head>
<body bgcolor="#cccccc">
<form id="form1" runat="server">
<div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ObjDataConnection %>"
SelectCommand="SELECT * FROM [DemoObj1]"></asp:SqlDataSource>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:ObjectDataSource ID="ObD1" TypeName="ObjClass1" SelectMethod="MyData" runat="server" />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
DataSourceID="ObD1" BackColor="#FFFFCC" Width="534px">
<Columns>
<asp:CommandField ShowSelectButton="True" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>

 

Note the connection string in both.  

Extension (LINK)