图6.2.2.1 商品概览模块在网站首页中的设计效果
6.3 商品查询模块设计
6.3.1 商品分类查询
为了方便用户查询所需商品信息,在网站中设置了商品分类显示模块。在网站商品首页的以列表菜单的形式列出了商品各分类名字信息,用户单击类别名称可以显示出该类的所有商品信息,在分类商品显示页面中,单击商品名称可以查看相应商品的详细信息。如果用户已经登录,还可以直接将商品信息添加至购物车中。商品分类模块的页面设计效果如图7所示。
图6.3.1.1 商品分类模块的页面设计效果
关键代码如下:
if (Request.Params["CategoryID"] != null)
{
sStr = Request.Params["CategoryID"];
if (Int32.Parse(sStr) >= 0)
{
int iID = int.Parse(sStr);
string sSQL = "SELECT O.*, S.Name AS CategoryName, P.Name AS Vendor FROM dbo.Products O INNER JOIN dbo.Categories S ON O.CategoryID = S.ID INNER JOIN dbo.Customers P ON O.VendorID = P.ID WHERE O.CategoryID = " + iID + " ORDER BY O.ModelName, O.ModelNumber";
pub.Fill(sSQL);
this.DisPage1.Open(pub.DataSet1);
pub.sTitle = pub.sTitle + " -- 商品浏览-- 所有" + Request.Params["CategoryName"].ToString() + " 的商品";
}
else
{
pub.sTitle = pub.sTitle + " -- 商品浏览-- 指定查询条件无效";
DisPage1.Visible = false;
}
lbMsg.Text = pub.sTitle;
}
else
Response.Redirect("ErrorPage.aspx?sStr=非法页面访问", true);
6.3.2 商品快速查询
商品快速查询主要是通过用户在文本框内,然后调用一个存储过程spProductsSearch
代码如下:
/****** Object: Stored Procedure dbo.spProductsSearch ******/
CREATE PROCEDURE dbo.spProductsSearch
(
@Search VARCHAR(255),
@SearchType BIT
)
AS
IF @SearchType = 0
BEGIN
SELECT O.*, S.Name AS CategoryName,
P.Name AS Vendor
FROM dbo.Products O INNER JOIN
dbo.Categories S ON O.CategoryID = S.ID INNER JOIN
dbo.Customers P ON O.VendorID = P.ID
WHERE
O.ModelNumber LIKE '%' + @Search + '%'
OR
O.ModelName LIKE '%' + @Search + '%'
OR
O.Description LIKE '%' + @Search + '%'
ORDER BY
O.ModelName,
O.ModelNumber
END
ELSE
BEGIN
SELECT O.*, S.Name AS CategoryName,
P.Name AS Vendor
FROM dbo.Products O INNER JOIN
dbo.Categories S ON O.CategoryID = S.ID INNER JOIN
dbo.Customers P ON O.VendorID = P.ID
WHERE
O.CategoryID = CAST(@Search AS INT)
ORDER BY
O.ModelName, O.ModelNumber
END GO
6.4 会员管理模块设计
在前台的会员管理模块中主要包括会员注册、会员登录、会员资料修改3部分。由于会员资料修改同会员注册的实现方法类似,只是调用的SQL语句不同,所以此处只给出会员注册和会员登录进行介绍。
6.4.1.会员注册
会员注册的入口位于网站首页的左侧。用户单击【注册】按钮即可进入到会员注册页面,该页面的设计效果如图8所示。