Click here to Skip to main content
15,893,588 members
Articles / Web Development / ASP.NET

Bulk CRUD Operation using XQuery and Reflection in ASP.NET

Rate me:
Please Sign up or sign in to vote.
4.72/5 (21 votes)
29 Nov 2010CPOL5 min read 63.4K   1.5K   52  
Easy approach to implement bulk CRUD operation using Xquery, reflection in ASP.NET with example
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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>Demo:Bulk CRUD Operation Using XPATH/XQUERY/Collection to XML conversion using Reflection</title>
    <style type="text/css">
        .txt
        {
            font-size: 10px;
            width: 85px;
        }
    </style>

    <script src="scripts/jquery-1.4.2.min.js" type="text/javascript"></script>

</head>
<body>
    <form id="form1" runat="server">
    <div style="text-align: center; color: #663300; width: 800px;">
        <h3>
           Customer Information Dashboard</h3>
    </div>
    <div style="text-align: right; margin: 10px 10px 10px 10px; width: 980px;">
        <asp:Button ID="btnUpdate" runat="server" Text="Update All" ValidationGroup="valgrpupdate" OnClick="btnUpdate_Click" />
        <asp:Button ID="btnDelete" runat="server" Text="Delete All"  CausesValidation="false" OnClick="btnDelete_Click" />
    </div>
    <div style="text-align: center; margin: 10px 10px 10px 10px; width: 980px;">
        <asp:GridView ID="grvCustomers" runat="server" AutoGenerateColumns="false" GridLines="Both"
            CellPadding="3" CellSpacing="5" Width="980px">
            <HeaderStyle BackColor="#336699" ForeColor="#FFFFFF" Font-Size="Medium" />
            <RowStyle BackColor="#99CCFF" ForeColor="#330066" Font-Size="Small" />
            <AlternatingRowStyle BackColor="#6699CC" ForeColor="#FFFFFF" Font-Size="Small" />
            <Columns>
                <asp:TemplateField HeaderText="Id#">
                    <ItemTemplate>
                        <asp:HiddenField ID="hidID" runat="server" Value=' <%# Eval("Customer_ID")%>' />
                        <%#  Eval("Customer_ID")%>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="First Name">
                    <ItemTemplate>
                        <asp:TextBox ID="txtFirstName" CssClass="txt" runat="server" Text='<%# Eval("Customer_First_Name")%>'></asp:TextBox>
                        <asp:RequiredFieldValidator ID="rfvFirstName"  ValidationGroup="valgrpupdate" ControlToValidate="txtFirstName" SetFocusOnError="true" Display="Static" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Last Name">
                    <ItemTemplate>
                        <asp:TextBox ID="txtLastName" CssClass="txt" runat="server" Text='<%# Eval("Customer_Last_Name")%>'></asp:TextBox>
                        <asp:RequiredFieldValidator ID="rfvtxtLastName"  ValidationGroup="valgrpcreate" ControlToValidate="txtLastName" SetFocusOnError="true" Display="Static" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Address1">
                    <ItemTemplate>
                        <asp:TextBox ID="txtAddress1" CssClass="txt" runat="server" Text='<%# Eval("Customer_Mailing_Address_1")%>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Address2">
                    <ItemTemplate>
                        <asp:TextBox ID="txtAddress2" CssClass="txt" runat="server" Text='<%# Eval("Customer_Mailing_Address_2")%>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="City">
                    <ItemTemplate>
                        <asp:TextBox ID="txtCity" CssClass="txt" runat="server" Text='<%# Eval("Customer_Mailing_City")%>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="State">
                    <ItemTemplate>
                        <asp:TextBox ID="txtState" CssClass="txt" runat="server" Text='<%# Eval("Customer_Mailing_State")%>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="ZipCode">
                    <ItemTemplate>
                        <asp:TextBox ID="txtZipCode" CssClass="txt" runat="server" Text='<%# Eval("Customer_Mailing_Zip_code")%>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Phone#">
                    <ItemTemplate>
                        <asp:TextBox ID="txtPhone" CssClass="txt" runat="server" Text='<%# Eval("Customer_phone_number")%>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="E-Mail">
                    <ItemTemplate>
                        <asp:TextBox ID="txtEmail" CssClass="txt" runat="server" Text='<%# Eval("Customer_email_address")%>'></asp:TextBox>
                        <asp:RequiredFieldValidator ID="rfvtxtEmail"  ValidationGroup="valgrpcreate" ControlToValidate="txtEmail" SetFocusOnError="true" Display="Static" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>
                        <asp:CheckBox ID="chkHeader" runat="server" onclick="javascript:SelectDeselectAll(this.id,'selectall')"></asp:CheckBox>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="chkChild" runat="server" CssClass="selectall"></asp:CheckBox>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>
    <div style="text-align: center; color: #663300; width: 980px;">
        <h3>
            Enter Potential Customer Info</h3>
    </div>
    <div style="text-align: center; margin: 10px 10px 10px 10px; width: 980px;">
        <table border="0" cellpadding="3">
            <tr>
                <td colspan="6" align="right">
                    <asp:Button ID="btnSave" runat="server" Text="Save All" OnClick="btnSave_Click" ValidationGroup="valgrpcreate" />
                </td>
            </tr>
            <asp:Repeater ID="repCreateTemplate" runat="server">
                <ItemTemplate>
                    <tr>
                        <td align="left" valign="top">
                            First Name:
                        </td>
                        <td align="left" valign="top">
                            <asp:TextBox ID="txtFirstName" runat="server" CssClass="bluckcreate"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="rfvFirstName"  ValidationGroup="valgrpcreate" ControlToValidate="txtFirstName" SetFocusOnError="true" Display="Static" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator>
                            
                        </td>
                        <td align="left" valign="top">
                            Last Name:
                        </td>
                        <td align="left" valign="top">
                            <asp:TextBox ID="txtLastName" runat="server" CssClass="bluckcreate"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="rfvtxtLastName"  ValidationGroup="valgrpcreate" ControlToValidate="txtLastName" SetFocusOnError="true" Display="Static" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator>
                        </td>
                        <td align="left" valign="top">
                            Email:
                        </td>
                        <td align="left" valign="top">
                            <asp:TextBox ID="txtEmail" runat="server" CssClass="bluckcreate"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="rfvtxtEmail"  ValidationGroup="valgrpcreate" ControlToValidate="txtEmail" SetFocusOnError="true" Display="Static" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator>
                        </td>
                    </tr>
                </ItemTemplate>
            </asp:Repeater>
            <tr>
                <td colspan="6" align="right">
                    <asp:LinkButton ID="lnbAddRow" runat="server" OnClick="lnbAddRow_Click" ForeColor="#336699"
                        OnClientClick="javascript:CheckEmptyInput();">Add More</asp:LinkButton>
                </td>
            </tr>
        </table>
    </div>
     
    </form>

    <script type="text/javascript">
    function CheckEmptyInput()
    {
        $(".bluckcreate");
    }
    
    function SelectDeselectAll(id,className)
{

    $("INPUT[@class=" + className + "][type='checkbox']").attr('checked', $('#' + id).is(':checked'));
}
    </script>

</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Chief Technology Officer
Bangladesh Bangladesh
I am a Software Engineer and Microsoft .NET technology enthusiast. Professionally I worked on several business domains and on diverse platforms. I love to learn and share new .net technology and my experience I gather in my engineering career. You can find me from here

Personal Site
Personal Blog
FB MS enthusiasts group
About Me

Comments and Discussions