【发布时间】:2015-03-29 17:38:15
【问题描述】:
当在我的网络表单上按下一个按钮时,我会执行一些操作,将一个项目插入我的数据库并将一些信息存储到会话中。在该执行结束时,表单应该重定向到下一页,但它会重新加载更改了 URL 的同一页面。我试图将它从 Response.Redirect("URL") 更改为 Server.TransferRequest ,它仍然做同样的事情。代码如下:
protected void CheckoutConfirm_Click(object sender, EventArgs e)
{
//some irrelevant code
using (ShoppingCartActions usersShoppingCart = new ShoppingCartActions())
{
placedOrder.totalPrice = usersShoppingCart.GetTotal();
_db.Orders.Add(placedOrder);
_db.SaveChanges();
List<CartItem> itemsInCart = usersShoppingCart.GetCartItems();
//creating corresponding OrderProducts for each product in this order
foreach (CartItem o in itemsInCart)
{
Orderproducts myOrderProduct = new Orderproducts();
myOrderProduct.ProductID = o.ProductId;
myOrderProduct.OrderID = placedOrder.OrderID;
myOrderProduct.quantity = o.Quantity;
_db.OrderProducts.Add(myOrderProduct);
_db.SaveChanges();
Session.Clear();
Session["CustomerName"] = customer.CustomerName;
Session["orderID"] = placedOrder.OrderID;
Session["orderStatus"] = placedOrder.OrderStatus;
Session["Address"] = customer.CustomerName + "\r\n" + customer.Address + "\r\n" + customer.City + "\r\n" + customer.Country;
}
}
Server.TransferRequest("Checkout/finishedCheckout.aspx");
【问题讨论】:
-
Response.Redirect("PageName.aspx")应该可以正常工作! -
是的,应该。它正在处理所有其他重定向的页面,但在此页面上它没有,它只是重定向到同一页面并将 URL 更改为正确的 URL。
-
将其更改为
Response.Redirect并在代码中设置断点,看看是否到达该行。另外,在浏览器上观察网络流量。 -
尝试使用绝对页面名称,即
Response.Redirect("finishedCheckout.aspx"),而不是Response.Redirect("Checkout/finishedCheckout.aspx")? -
@mason 我做了断点,它确实到达了,我如何检查网络流量?
标签: c# asp.net .net redirect webforms