【问题标题】:Webforms response.redirect returns correct URL and reloads same pageWebforms response.redirect 返回正确的 URL 并重新加载同一页面
【发布时间】: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


【解决方案1】:

问题是在母版页的 Page_PreRender 中发生的空引用异常。由于异常,重定向不会完成,同一页面只会重新加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    相关资源
    最近更新 更多