2012년 5월 19일 토요일
..:: Learn » 쇼핑몰 프로젝트 » [5] 주문관리 » 23. 주문 확인 ::..
최소화(Minimize)OrderList.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="OrderList.ascx.cs" Inherits="OrderListControl" %>
<p>
    <font face="굴림"><strong>주문 정보</strong></font></p>
<p>
    <font face="굴림">
        <asp:Label ID="MyError" runat="Server" /></font><strong><font face="굴림"></font></strong></p>
<p>
    <asp:Panel ID="CustomerPanel" runat="server">
        <asp:DataGrid ID="MyList" runat="server" AutoGenerateColumns="False" AlternatingItemStyle-CssClass="CartListItemAlt"
            ItemStyle-CssClass="CartListItem" FooterStyle-CssClass="cartlistfooter" HeaderStyle-CssClass="CartListHead"
            Font-Size="9pt" Font-Name="Verdana" CellPadding="3" BorderColor="#CCCCCC" Width="500px"
            BorderStyle="None" BorderWidth="1px" BackColor="White" Font-Names="굴림">
            <FooterStyle ForeColor="#000066" CssClass="cartlistfooter" BackColor="White"></FooterStyle>
            <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#669999"></SelectedItemStyle>
            <AlternatingItemStyle CssClass="CartListItemAlt"></AlternatingItemStyle>
            <ItemStyle ForeColor="#000066" CssClass="CartListItem"></ItemStyle>
            <HeaderStyle Font-Bold="True" ForeColor="White" CssClass="CartListHead" BackColor="#006699">
            </HeaderStyle>
            <Columns>
                <asp:BoundColumn DataField="OrderID" HeaderText="주문 번호"></asp:BoundColumn>
                <asp:BoundColumn DataField="OrderDate" HeaderText="주문 날짜" DataFormatString="{0:d}">
                </asp:BoundColumn>
                <asp:BoundColumn DataField="TotalPrice" HeaderText="주문 금액" DataFormatString="{0:###,###}">
                </asp:BoundColumn>
                <asp:BoundColumn DataField="ShipDate" HeaderText="배송일" DataFormatString="{0:d}">
                </asp:BoundColumn>
                <asp:HyperLinkColumn Text="주문 상세 내역 보기" DataNavigateUrlField="OrderID" DataNavigateUrlFormatString="OrderDetails.aspx?OrderID={0}"
                    HeaderText="주문 상세 내역 보기"></asp:HyperLinkColumn>
            </Columns>
            <PagerStyle HorizontalAlign="Left" ForeColor="#000066" BackColor="White" Mode="NumericPages">
            </PagerStyle>
        </asp:DataGrid>
    </asp:Panel>
    <br />
    <asp:Panel ID="NonCustomerPanel" runat="server">
        주문번호 :
        <asp:TextBox ID="txtOrderID" runat="server" ValidationGroup="OrderListForm"></asp:TextBox>(주문시
        부여받은 주문번호를 입력하시오.)<br />
        주문비밀번호 :
        <asp:TextBox ID="txtPassword" runat="server" ValidationGroup="OrderListForm"></asp:TextBox>(주문시입력한
        주문비밀번호를 입력하시오.)<br />
        <asp:Button ID="cmdOrderList" runat="server" Text="주문정보 확인" OnClick="cmdOrder_Click"
            ValidationGroup="OrderListForm"></asp:Button>
    </asp:Panel>
</p>
<p>
    &nbsp;</p>
<p>
    &nbsp;<asp:RequiredFieldValidator ID="valOrderID" runat="server" ControlToValidate="txtOrderID"
        Display="None" ErrorMessage="주문번호를 입력하시오." ValidationGroup="OrderListForm"></asp:RequiredFieldValidator>
    <asp:RequiredFieldValidator ID="valPassword" runat="server" ControlToValidate="txtPassword"
        Display="None" ErrorMessage="주문 비밀번호를 입력하시오." ValidationGroup="OrderListForm"></asp:RequiredFieldValidator>
    <asp:ValidationSummary ID="valSummary" runat="server" ShowMessageBox="True" ShowSummary="False"
        ValidationGroup="OrderListForm" />
</p>

최소화(Minimize)OrderList.ascx.cs

using System.Web.UI;

public partial class OrderListControl : System.Web.UI.UserControl
{
    #region Controls
    // 학습 목적으로 DataGrid 컨트롤 사용 -> GridView로 대체해도 무관
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
    protected System.Web.UI.WebControls.DataGrid DataGrid2;
    #endregion

    #region Event Handlers
    protected void Page_Load(object sender, System.EventArgs e)
    {
        if (Page.User.Identity.IsAuthenticated) // 인증된 사용자
        {
            this.CustomerPanel.Visible = true;
            this.NonCustomerPanel.Visible = false;

            // 고객코드 받기
            string customerID = Page.User.Identity.Name;

            // 주문 클래스의 인스턴스 생성
            OrdersDB orderHistory = new OrdersDB();

            // 주문 내역 출력
            MyList.DataSource = orderHistory.GetCustomerOrders(customerID);
            MyList.DataBind();

            // 주문 내역이 없을시
            if (MyList.Items.Count == 0)
            {
                MyError.Text = "주문 내역이 없습니다.";
                MyList.Visible = false;
            }
        }
        else // 비회원
        {
            this.CustomerPanel.Visible = false;
            this.NonCustomerPanel.Visible = true;
        }
    }

    protected void cmdOrder_Click(object sender, System.EventArgs e)
    {
        this.CustomerPanel.Visible = true;
        this.NonCustomerPanel.Visible = true;

        // 고객코드 받기
        string strOrderID = this.txtOrderID.Text;
        string strPassword = this.txtPassword.Text;

        // 주문 클래스의 인스턴스 생성
        OrdersDB orderHistory = new OrdersDB();

        // 주문 내역 출력
        MyList.DataSource = orderHistory.GetNonCustomerOrders(strOrderID, strPassword);
        MyList.DataBind();

        // 주문 내역이 없을시
        if (MyList.Items.Count == 0)
        {
            MyError.Text = "주문 내역이 없습니다.";
            MyList.Visible = false;
        }
    }
    #endregion
}

Copyright 2000-2011 by DotNetKorea all right reserved.   사용약관  개인정보취급방침