2012년 5월 19일 토요일
..:: Learn » 쇼핑몰 프로젝트 » [4] 상품관리 » 07. 카테고리 리스트 ::..
최소화(Minimize)CategoryList.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="CategoryList.ascx.cs" Inherits="CategoryListControl" %>
<%@ OutputCache Duration="3600" VaryByParam="Selection" %>
<asp:DataList id="ctlCategoryList" runat="server" cellpadding="5" cellspacing="3" width="100%" SelectedItemStyle-BackColor="dimgray"
 EnableViewState="false" RepeatColumns="2" RepeatDirection="Horizontal">
 <ItemTemplate>
  <asp:HyperLink id="HyperLink1" Text='<%# DataBinder.Eval(Container.DataItem, "CategoryName") %>' NavigateUrl='<%# "ProductsList.aspx?CategoryID=" + DataBinder.Eval(Container.DataItem, "CategoryID") + "&Selection=" + Container.ItemIndex %>' runat="server" />
 </ItemTemplate>
 <SelectedItemTemplate>
  <asp:HyperLink id="HyperLink2" Text='<%# DataBinder.Eval(Container.DataItem, "CategoryName") %>' NavigateUrl='<%# "ProductsList.aspx?CategoryID=" + DataBinder.Eval(Container.DataItem, "CategoryID") + "&Selection=" + Container.ItemIndex %>' runat="server" />
 </SelectedItemTemplate>
  <SelectedItemStyle BackColor="DimGray" />
</asp:DataList>

최소화(Minimize)CategoryList.ascx.cs

using System;

public partial class CategoryListControl : System.Web.UI.UserControl
{
    #region Event Handlers
    protected void Page_Load(object sender, System.EventArgs e)
    {
        // 현재 선택된 카테고리의 배경색을 구분짓기 위한 로직
        string strSelectionID = Request.Params["Selection"];
        if (strSelectionID != null)
        {
            // SelectedIndex가 적용된 항목의 SelectedItemTemplate이 적용됨
            ctlCategoryList.SelectedIndex = Int32.Parse(strSelectionID);
        }

        // 상품관리 클래스의 인스턴스 생성
        ProductsDB objProducts = new ProductsDB();
        // 상품 카테고리 리스트 출력
        ctlCategoryList.DataSource = objProducts.GetProductCategories();
        ctlCategoryList.DataBind();
    }
    #endregion
}

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