public partial class Order : System.Web.UI.Page
{
private Product SelectedProduct;
protected void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
ddlProducts.DataBind();
}
SelectedProduct = this.GetSelectedProduct();
lblName.Text = SelectedProduct.Name;
lblShortDescription.Text = SelectedProduct.ShortDescription;
lblLongDescription.Text = SelectedProduct.LongDescription;
lblUnitPrice.Text = (SelectedProduct.UnitPrice).ToString("C");
imgProduct.ImageUrl = "Images/Products/" + SelectedProduct.ImageFile;
}
private Product GetSelectedProduct()
{
DataView dvProduct = (DataView)AccessDataSource1.Select(DataSourceSelectArguments.Empty);
dvProduct.RowFilter = "ProductID = '" + ddlProducts.SelectedValue + "'";
Product Product = new Product();
Product.ProductID = dvProduct[0]["ProductID"].ToString();
Product.ProductID = dvProduct[0]["ProductID"].ToString();
Product.Name = dvProduct[0]["Name"].ToString();
Product.ShortDescription = dvProduct[0]["ShortDescription"].ToString();
Product.LongDescription = dvProduct[0]["LongDescription"].ToString();
Product.UnitPrice = (decimal)dvProduct[0]["UnitPrice"];
Product.ImageFile = dvProduct[0]["ImageFile"].ToString();
return Product;
}
protected void btnAdd_Click(object sender, System.EventArgs e)
{
if (Page.IsValid)
{
CartItem CartItem = new CartItem();
CartItem.Product = SelectedProduct;
CartItem.Quantity = Convert.ToInt32(txtQuantity.Text);
this.AddToCart(CartItem);
Response.Redirect("Cart.aspx");
}
}
private void AddToCart(CartItem CartItem)
{
SortedList Cart = GetCart();
string sProductID = SelectedProduct.ProductID;
if (Cart.ContainsKey(sProductID))
{
CartItem = (CartItem)Cart[sProductID];
CartItem.Quantity += Convert.ToInt32(txtQuantity.Text);
}
else
{
Cart.Add(sProductID, CartItem);
}
}
private SortedList GetCart()
{
if (Session["Cart"] == null)
{
Session.Add("Cart", new SortedList());
}
return (SortedList)Session["Cart"];
}
}
当我点击“添加”按钮时,它不会重定向到我拥有的其他aspx页面,即Cart.aspx。我认为问题在于这段代码。
protected void btnAdd_Click(object sender, System.EventArgs e)
{
if (Page.IsValid)
{
CartItem CartItem = new CartItem();
CartItem.Product = SelectedProduct;
CartItem.Quantity = Convert.ToInt32(txtQuantity.Text);
this.AddToCart(CartItem);
Response.Redirect("Cart.aspx");
}
}
它不会是一个启用重定向的chome设置,因为我能够通过此页面上的另一个按钮导航到cart.aspx页面,尽管它已经通过回发硬编码到aspx按钮本身URL。
答案 0 :(得分:0)
您的代码似乎是正确的。
确保您的页面位于同一目录中。如果它不在下面示例中提到的使用它的同一目录中:
Response.Redirect("[Directory Name]/DrugEntry.aspx",true);