C# 交叉发布时不显示目标aspx页面

C# 交叉发布时不显示目标aspx页面,c#,asp.net,webforms,cross-page-posting,C#,Asp.net,Webforms,Cross Page Posting,我是ASP.NET新手。 我正在试验webforms。我有两个页面:NewOrder.aspx,它捕获用户的订单,然后交叉发布到SaveOrder.aspx,在这里我想保存订单并向用户显示一些信息 <telerik:RadButton ID="BtnSubmirOrder" runat="server" ButtonType="StandardButton" AutoPostBack="true" Text="Place order" PostBackUr

我是ASP.NET新手。 我正在试验webforms。我有两个页面:NewOrder.aspx,它捕获用户的订单,然后交叉发布到SaveOrder.aspx,在这里我想保存订单并向用户显示一些信息

 <telerik:RadButton ID="BtnSubmirOrder" runat="server" ButtonType="StandardButton" AutoPostBack="true"
                Text="Place order" PostBackUrl="SaveOrder.aspx">
 </telerik:RadButton>

我可以从javascript中看到,当单击按钮时,表单的操作被设置为SaveOrder.aspx,那么为什么浏览器没有显示它?

我认为您的浏览器停留在NewOrder.aspx上的原因是您没有与按钮关联的按钮单击事件。在没有看到其余代码的情况下,我不确定表单的操作为何会有所不同

您可以执行以下操作来引入按钮单击事件。重定向逻辑可以放在那里

标记:

<telerik:RadButton ID="btnSubmit" runat="server" Text="Place Order" 
OnClick="btnSubmit_Click" />

不知道如何使用
RadButton
,但这应该适用于常规按钮fwiw,在Web表单中,在NewOrder.aspx后面的代码中保存订单是一种更常见的范例,然后在成功保存例程后,重定向到确认页。谢谢@nunesspascal您的建议确实有效。@Graham,我这样做是因为我想在订单保存后向用户显示一些信息。如果我保存在NewOrder.aspx中,如何实现这一点?我需要将他重定向到SaveOrder.aspx吗?我希望只有保存订单后才能访问此页面。有几种方法可以做到这一点。您可以在NewOrder.aspx.cs代码的末尾设置会话变量,并在确认页面上检查该会话变量。或者只是使用查询字符串或其他东西,这取决于确认页面的安全性。
<telerik:RadButton ID="btnSubmit" runat="server" Text="Place Order" 
OnClick="btnSubmit_Click" />
public class NameOfPage
{
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        // You could do validation here and display an error message if something is not right.
        // For simplicity I am assuming the data comes from a set of textboxes.
        if (!PageIsValid())
        {
            return;
        }

        StockContainer _context = new StockContainer();
        Order newOrder = Order.CreateOrder(txtOrderDate.Text, txtQuantity.Text, txtNeededBy.Text, id);
        _context.Orders.AddObject(newOrder);
        _context.SaveChanges();
        // Add your redirect logic here.
    }

    private bool PageIsValid()
    {
        if (string.IsNullOrEmpty(txtOrderDate.Text))
        {
            return false;
        }

        if (string.IsNullOrEmpty(txtQuantity.Text))
        {
            return false;
        }

        // and so on for the other fields that are required.
        return true;
    }
}