基于ASP.NET的WEB应⽤开发实验五:设计并实现⼀个商品展⽰页
<form id="form1" runat="server">
<div>
分类名:<DropDownList ID="ddlCategory" runat="server" AutoPostBack="True" DataTextField="Name" DataValueField="CategoryId" OnSelect edIndexChanged="DdlCategory_SelectedIndexChanged">
</DropDownList>
<br />
<GridView ID="gvProduct" runat="server" AllowPaging="True"
AutoGenerateColumns="False"
OnPageIndexChanging="gvProduct_PageIndexChanging"
PagerSettings-Mode="NextPrevious" PageSize="1" Width="64%" Height="180px">
<PagerSettings FirstPageText="⾸页" LastPageText="页尾" Mode="NextPrevious"
NextPageText="下⼀页" Position="TopAndBottom" PreviousPageText="上⼀页"/>
<Columns>
<TemplateField>
<ItemTemplate>
<table >
<tr>
<td rowspan="7" >
<Image ID="imgProduct" runat="server"
ImageUrl='<%# Bind("Image") %>' Height="60px" Width="60px"/>
</td>
<td >商品名称:</td>
<td >
<Label ID="lblName" runat="server"
Text='<%# Bind("Name") %>'></Label>
</td>
</tr>
<tr>
<td >商品价格:</td>
<td >
<Label ID="lblLisPrice" runat="server"
Text='<%# Bind("ListPrice") %>'></Label>
</td>
</tr>
<tr>
<td >商品描述:</td>
<td >
<Label ID="lblDescn" runat="server"
Text='<%# Bind("Descn") %>'></Label>
</td>
</tr>
<tr>
<td >库存:</td>htmlborder
<td >
<Label ID="lblQty" runat="server"
Text='<%# Bind("Qty") %>'></Label>
</td>
</tr>
</table>
</ItemTemplate>
</TemplateField>
<HyperLinkField DataNavigateUrlFields="ProductId" DataNavigateUrlFormatString="~ShopCart.aspx?ProductId={0}"
HeaderText="放⼊购物车" Text="购买"/>
</Columns>
</GridView>
</div>
</form>
Proshow.aspx.cs 代码如下:
public partial class Ex8Site_App_Code : System.Web.UI.Page
{
MyPetShopDataContext db = new MyPetShopDataContext();
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
var categories = from c in db.Category
select new
{
c.CategoryId,
c.Name
};
foreach(var category in categories)
{
ddlCategory.Items.Add(new ListItem(category.Name.ToString(),
category.CategoryId.ToString()));
}
Bind();
}
}
protected void Bind()
{
int categoryId =int.Parse(ddlCategory.SelectedValue);
var products = from p in db.Product
where p.CategoryId == categoryId
select p;
gvProduct.DataSource = products;
gvProduct.DataBind();
}
protected void gvProduct_PageIndexChanging(object sender, GridViewPageEventArgs e) {
gvProduct.PageIndex = e.NewPageIndex;
Bind();
}
protected void DdlCategory_SelectedIndexChanged(object sender, EventArgs e)
{
Bind();
}
}
3>实验结果截图: