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)
|
| |