<%@ page language="C#" %>
<%@ import namespace="System" %>
<%@ import namespace="System.Web" %>
<%@ import namespace="System.Collections.Generic" %>
<script runat="server" language="c#">
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 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;
}
}
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; }
}
}
</script>
<html>
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:gridview id="GridView1"
runat="server"
datasourceid="ObjectDataSource1"
autogeneratecolumns="False"
datakeynames="Id">
<alternatingrowstyle backcolor="Red" font-bold="False">
</alternatingrowstyle>
<pagerstyle forecolor="Black"
font-italic="False"
font-bold="False"
horizontalalign="Center"
backcolor="#999999">
</pagerstyle>
<columnfields>
<asp:boundfield datafield="Id" readonly="True" headertext="ID">
</asp:boundfield>
<asp:boundfield datafield="Firstname" headertext="Firstname">
</asp:boundfield>
<asp:boundfield datafield="Lastname" headertext="Lastname">
</asp:boundfield>
<asp:commandfield showeditbutton="True">
</asp:commandfield>
<asp:commandfield showdeletebutton="True">
</asp:commandfield>
</columnfields>
<summarytitlestyle borderwidth="1px"
borderstyle="None"
bordercolor="#999999"
backcolor="White">
</summarytitlestyle>
<selectedrowstyle forecolor="White"
backcolor="#008A8C"
font-italic="False"
font-bold="True">
</selectedrowstyle>
<detailtitlestyle borderwidth="1px"
borderstyle="None"
bordercolor="#999999"
backcolor="White">
</detailtitlestyle>
<rowstyle forecolor="Black" backcolor="#EEEEEE" font-italic="False" font-bold="False">
</rowstyle>
<headerstyle forecolor="White" backcolor="#000084" font-italic="False" font-bold="True">
</headerstyle>
<footerstyle forecolor="Black" backcolor="#CCCCCC" font-italic="False" font-bold="False">
</footerstyle>
</asp:gridview>
<asp:objectdatasource id="ObjectDataSource1"
runat="server"
typename="PersonManager"
selectmethod="SelectPersons"
updatemethod="Update"
deletemethod="DeletePerson">
</asp:objectdatasource>
</form>
</body>
</html>
|