📄 shoppingcart.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class ShoppingCart : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
PopulateControls();
}
}
private void PopulateControls()
{
// set the title of the page
this.Title = BalloonShopConfiguration.SiteName + " : Shopping Cart";
// get the items in the shopping cart
DataTable dt = ShoppingCartAccess.GetItems();
// if the shopping cart is empty...
if (dt.Rows.Count == 0)
{
titleLabel.Text = "Your shopping cart is empty!";
grid.Visible = false;
updateButton.Enabled = false;
totalAmountLabel.Text = String.Format("{0:c}", 0);
}
else
// if the shopping cart is not empty...
{
// populate the list with the shopping cart contents
grid.DataSource = dt;
grid.DataBind();
// setup controls
titleLabel.Text = "These are the products in your shopping cart:";
grid.Visible = true;
updateButton.Enabled = true;
// display the total amount
decimal amount = ShoppingCartAccess.GetTotalAmount();
totalAmountLabel.Text = String.Format("{0:c}", amount);
}
}
protected void grid_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
// Index of the row being deleted
int rowIndex = e.RowIndex;
// The ID of the product being deleted
string productId = grid.DataKeys[rowIndex].Value.ToString();
// Remove the product from the shopping cart
bool success = ShoppingCartAccess.RemoveItem(productId);
// Display status
statusLabel.Text = success ? "<br />Product successfully removed!<br />" :
"<br />There was an error removing the product!<br />";
// Repopulate the control
PopulateControls();
}
// 更新购物车商品数量
protected void updateButton_Click(object sender, EventArgs e)
{
// Number of rows in the GridView
int rowsCount = grid.Rows.Count;
// Will store a row of the GridView
GridViewRow gridRow;
// Will reference a quantity TextBox in the GridView
TextBox quantityTextBox;
// Variables to store product ID and quantity
string productId;
int quantity;
// Was the update successful?
bool success = true;
// Go through the rows of the GridView
for (int i = 0; i < rowsCount; i++)
{
// Get a row
gridRow = grid.Rows[i];
// The ID of the product being deleted
productId = grid.DataKeys[i].Value.ToString();
// Get the quantity TextBox in the Row
quantityTextBox = (TextBox)gridRow.FindControl("editQuantity");
// Get the quantity, guarding against bogus values
if (Int32.TryParse(quantityTextBox.Text, out quantity))
{
// Update product quantity
success = success && ShoppingCartAccess.UpdateItem(productId, quantity);
}
else
{
// if TryParse didn't succeed
success = false;
}
// Display status message
statusLabel.Text = success ?
"<br />Your shopping cart was successfully updated!<br />" :
"<br />Some quantity updates failed! Please verify your cart!<br />";
}
// Repopulate the control
PopulateControls();
}
//继续功能(访问之前的页面)
protected void continueShoppingButton_Click(object sender, EventArgs e)
{
object page;
if ((page = Session["LastVisitedCatalogPage"]) != null)
{
Response.Redirect(page.ToString());
}
else
{
Response.Redirect(Request.ApplicationPath);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -