Mega Code Archive

 
Categories / ASP.Net / ADO Database
 

ObjectDataSource with selectmethod, deletemethod, updatemethod, insertmethod

<%@ page language="C#" %> <%@ import namespace="System" %> <%@ import namespace="System.Web" %> <%@ import namespace="System.Collections.Generic" %> <script runat="server" language="c#"> public class Person {     private int id;     private string firstname;     private string lastname;     public Person(int id, string firstname, string lastname) {         this.id = id;         this.firstname = firstname;         this.lastname = lastname;     }     public int Id {         get { return this.id; }         set { this.id = value; }     }     public string Firstname {         get { return this.firstname; }         set { this.firstname = value; }     }     public string Lastname {         get { return this.lastname; }         set { this.lastname = value; }     } } public class PersonManager {     private const string personsKey = "persons";     public PersonCollection SelectPersons() {         HttpContext context = HttpContext.Current;         if (context.Application[personsKey] == null) {             PersonCollection persons = new PersonCollection();             persons.Add(new Person(0, "A", "B"));             persons.Add(new Person(1, "C", "D"));             persons.Add(new Person(2, "E", "F"));             context.Application[personsKey] = persons;         }         return (context.Application[personsKey] as PersonCollection);     }     public Person SelectPerson(int id) {         return this.SelectPersons().FindPersonById(id);     }     public void DeletePerson(int Id) {         HttpContext context = HttpContext.Current;         PersonCollection persons = (context.Application[personsKey] as PersonCollection);         persons.Remove(Id);     }     public void Update(int Id, string Firstname, string Lastname) {         HttpContext context = HttpContext.Current;         PersonCollection persons = (context.Application[personsKey] as PersonCollection);         Person person = persons.FindPersonById(Id);         if (person != null) {             person.Firstname = Firstname;             person.Lastname = Lastname;         }     }     public void Insert(int Id, string Firstname, string Lastname) {         HttpContext context = HttpContext.Current;         PersonCollection persons = (context.Application[personsKey] as PersonCollection);         persons.Add(new Person(Id, Firstname, Lastname));     } } public class PersonCollection : List<Person> {     public void Remove(int id) {         Person person = this.FindPersonById(id);         if (person != null) {             base.Remove(person);         }     }     public Person FindPersonById(int id) {         foreach (Person person in this) {             if (person.Id.Equals(id)) {                 return person;             }         }         return null;     } } </script> <html> <head id="Head1" runat="server">     <title>Untitled Page</title> </head> <body>     <form id="Form1" runat="server">         <asp:gridview id="GridView1"                        runat="server"                        allowpaging="True"                        datasourceid="ObjectDataSource1"                       allowsorting="True"                        datakeynames="Id"                        autogeneratecolumns="False">             <alternatingrowstyle font-italic="False" font-bold="False">             </alternatingrowstyle>             <pagerstyle forecolor="#003399"                          font-italic="False"                          font-bold="False"                          horizontalalign="Left"                         backcolor="#99CCCC">             </pagerstyle>             <columnfields>                 <asp:boundfield datafield="Id" readonly="True">                 </asp:boundfield>                 <asp:boundfield datafield="Firstname">                 </asp:boundfield>                 <asp:boundfield datafield="Lastname">                 </asp:boundfield>                 <asp:commandfield showselectbutton="True"                                    showdeletebutton="True"                                    showeditbutton="True">                 </asp:commandfield>             </columnfields>             <summarytitlestyle borderwidth="1px"                                 borderstyle="None"                                 bordercolor="#3366CC"                                 backcolor="White">             </summarytitlestyle>             <selectedrowstyle forecolor="#CCFF99"                                backcolor="#009999"                                font-italic="False"                                font-bold="True">             </selectedrowstyle>             <detailtitlestyle borderwidth="1px"                                borderstyle="None"                                bordercolor="#3366CC"                                backcolor="White">             </detailtitlestyle>             <rowstyle forecolor="#003399" backcolor="White" font-italic="False" font-bold="False">             </rowstyle>             <headerstyle forecolor="#CCCCFF" backcolor="#003399" font-italic="False" font-bold="True">             </headerstyle>             <footerstyle forecolor="#003399" backcolor="#99CCCC" font-italic="False" font-bold="False">             </footerstyle>         </asp:gridview>                  <asp:objectdatasource id="ObjectDataSource1" runat="server" typename="PersonManager"             selectmethod="SelectPersons"              deletemethod="DeletePerson"              updatemethod="Update"              insertmethod="Insert">             <insertparameters>                 <asp:parameter name="Id" type="Int32">                 </asp:parameter>             </insertparameters>         </asp:objectdatasource>                  <asp:detailsview id="DetailsView1" runat="server" datasourceid="ObjectDataSource1"             defaultmode="Insert" autogeneraterows="False" datakeynames="Id">             <rowfields>                 <asp:boundfield datafield="Id" headertext="ID:">                 </asp:boundfield>                 <asp:boundfield datafield="Firstname" headertext="Fn:">                 </asp:boundfield>                 <asp:boundfield datafield="Lastname" headertext="Ln:">                 </asp:boundfield>                 <asp:commandfield showinsertbutton="True">                 </asp:commandfield>             </rowfields>         </asp:detailsview>     </form> </body> </html>