CSharp Objectdatasource With Control Parameter – ADO.Net Database

<%@ 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 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 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);
    }
}</script>
<html>
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form runat="server">
        ID: <asp:textbox id="TextBox1" runat="server">0</asp:textbox>
        <asp:button id="Button1" runat="server" text="Show Person" />
        <asp:detailsview id="DetailsView1" runat="server" datasourceid="ObjectDataSource1">
        </asp:detailsview>
        <asp:objectdatasource id="ObjectDataSource1"
                              runat="server"
                              typename="PersonManager"
                              selectmethod="SelectPerson">
            <selectparameters>
                <asp:controlparameter name="id"
                                      propertyname="Text"
                                      type="Int32"
                                      controlid="TextBox1">
                </asp:controlparameter>
            </selectparameters>
        </asp:objectdatasource>
    </form>
</body>
</html>

Enjoyed this post? Share it!

 

Leave a comment

Your email address will not be published.