如何使用MasterPage中的Response.Redirect()工作?

p4b*_*bl0 6 javascript c# asp.net

我有一个问题:当我从MasterPage调用Response.Redirect()时它不起作用.好吧,调试我可以看到,直到Pre_Render()方法加载目标页面,然后再渲染上一页.

这里有一些代码可以更好地解释:

(来自MasterPageMain.master.cs)

protected void Page_Init(object sender, EventArgs e)
{
    string m_QueryStringValue = Request.QueryString.Get("action");
    if ((!string.IsNullOrEmpty(m_QueryStringValue)) && (m_QueryStringValue.ToLower() == "send"))
    {
        if (Session["to"] != null && Session["to"] is List<string>) this.SendPageByMail();
        else
        {
            Session.Add("AddressToSend", Request.RawUrl);
            Response.Redirect("~/chooseRecipients.aspx");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个javascript,当我点击发送按钮时添加查询字符串添加"action = send".

如果我在页面上"〜/ somethingInterestingToSend()" - 例如 - 我想进入收件人选择页面,但是当我单击"发送"按钮时,我总是看到相同的页面.

可能是什么错误?

Ech*_*orm 0

我不知道这是否是你问题的根源,但我会改变两件事。我会将你的代码更改为:

Response.Redirect("~/chooseRecipients.aspx", false);
Run Code Online (Sandbox Code Playgroud)

并将逻辑移至 PageLoad