当前位置: 代码迷 >> ASP >> asp.net电子商务系统之4
  详细解决方案

asp.net电子商务系统之4

热度:173   发布时间:2013-01-26 13:47:02.0
asp.net电子商务系统之四

下面是通过ProductsList.aspx页面通过点击某一项商品,页面跳转到ProductDetails.aspx商品详细信息的页面,如下图:


该页面有两个EntityDataSource、一个FormView和一个ListView控件,FormView控件通过数据绑定显示的是商品详细信息的列表

<!--商品详细信息列表-->
    <asp:FormView ID="FormView_Product" runat="server" 
    DataKeyNames="ProductID" DataSourceID="EDS_Product">
        <ItemTemplate>
        <div class="ContentHead"><%# Eval("ModelName") %></div><br />
        <table  border="0">
        <tr>

            <td style="vertical-align: top;">
             <img src='Catalog/Images/<%# Eval("ProductImage") %>'  
             border="0" alt='<%# Eval("ModelName") %>' />
            </td>
 
            <td style="vertical-align: top"><%# Eval("Description") %><br /><br /><br />

                <uc1:AlsoPurchased ID="AlsoPurchased1" runat="server" 
                ProductId='<%# Eval("ProductID") %>' />   
            </td>
        </tr>
        </table>
        <span class="UnitCost"><b>单价:</b> <%# Eval("UnitCost", "{0:c}")%><br /><span class="ModelNumber"><b>产品型号:</b> <%# Eval("ModelNumber") %></span><br /><a href='AddToCart.aspx?ProductID=<%# Eval("ProductID") %>' 
        style="border: 0 none white"><img src="~/Styles/Images/add_to_cart.gif" runat="server" 
        alt="" style="border-width: 0" /></a><br /><br /><div class="SubContentHead">评论</div><br />
        <a id="ReviewList_AddReview" href="ReviewAdd.aspx?productID=<%# Eval("ProductID") %>">
           <img runat="server" style="vertical-align: bottom" src="~/Styles/Images/review_this_product.gif" alt="" />
        </a>       
        </ItemTemplate>
    </asp:FormView>

该控件中还通过用户控件,显示了别人也购买了的商品显示,通过下面的代码

<%@ Register src="Controls/AlsoPurchased.ascx" tagname="AlsoPurchased" tagprefix="uc1" %>
可以将用户控件显示在相应位置。

ListView控件主要是将用户对于该商品的评论信息进行显示。下面是ListView控件的前台代码:

<asp:ListView ID="ListView_Comments" runat="server" 
    DataKeyNames="ReviewID,ProductID,Rating" 
    DataSourceID="EDS_CommentsList">
        <ItemTemplate>
            <tr style="background-color:#EDECB3;color: #000000;">
                <td><%# Eval("CustomerName") %></td>
                <td><img src='Styles/Images/reviewrating<%# Eval("Rating") %>.gif' alt=""><br /></td>
                <td><%# Server.HtmlDecode(Eval("Comments").ToString())%></td>
            </tr>
        </ItemTemplate>
        <AlternatingItemTemplate>
            <tr style="background-color:#F8F8F8;">
                <td><%# Eval("CustomerName") %></td>
                <td><img src='Styles/Images/reviewrating<%# Eval("Rating") %>.gif' alt=""><br /></td>
                <td><%# Server.HtmlDecode(Eval("Comments").ToString()) %></td>
            </tr>
        </AlternatingItemTemplate>
        <EmptyDataTemplate>
            <table runat="server" style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;">
                <tr><td>没有任何关于该产品的评论.</td></tr>
            </table>
        </EmptyDataTemplate>
        <LayoutTemplate>
            <table runat="server">
                <tr runat="server">
                    <td runat="server">
                        <table ID="itemPlaceholderContainer" runat="server" border="1" style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
                            <tr runat="server" style="background-color:#DCDCDC;color: #000000;">
                                <th runat="server">客户</th>
                                <th runat="server">评级</th>
                                <th runat="server">评论</th>
                            </tr>
                            <tr ID="itemPlaceholder" runat="server"></tr>
                        </table>
                    </td>
                </tr>
                <tr runat="server">
                    <td runat="server" style="text-align: center;background-color: #CCCCCC;font-family: Verdana, Arial, Helvetica, sans-serif;color: #000000;">
                        <asp:DataPager ID="DataPager1" runat="server" PageSize="3">
                            <Fields><asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowLastPageButton="True" /></Fields>
                        </asp:DataPager>
                    </td>
                </tr>
            </table>
        </LayoutTemplate>
    </asp:ListView>

用DataPager控件对用户评论的列表进行了分页.

上面所有的数据库连接都是通过了EntityDataSource指定数据源,然后通过Where将传入的QueryString参数进行相应数据的绑定