【问题标题】:Page redirection not hitting break points in Visual Studio页面重定向未在 Visual Studio 中达到断点
【发布时间】:2015-05-11 16:10:51
【问题描述】:

我有一个调查应用程序,用户填写信息然后单击提交并被重定向到其他页面(Success.aspx),该页面仅显示一条消息 “调查已保存!”

之后我想将用户自动重定向到登录页面。我找到了以下代码:

<meta http-equiv="refresh" content="3;url=Login.aspx/" />

上面的代码“可以”工作。用户在 3 秒后被重定向到 login.aspx,但代码不再在 Visual Studio(2013) 中中断。如果用户尝试登录,代码会将他引导至调查页面Response.Redirect("Survey.aspx")

但我在该页面的加载中设置的断点将不再有效。

如果我删除

 <meta http-equiv="refresh" content="3;url=Login.aspx/" />

断点再次起作用!这是一个已知问题吗?

【问题讨论】:

  • 就服务器而言,它们是两个完全独立的请求。它甚至不是真正意义上的重定向。 VS 通常会支持这样的断点吗?
  • 两个位置。 login.aspx 中的命中,调查中的未命中。
  • 那么在这种情况下,这是正确的功能。重定向从不向 login.aspx 发送请求,您考虑回发,您不触发回发您正在触发一个新请求(到 login.aspx)到另一个页面!完全不同的东西。您不能使用元标记触发回发,您需要使用 javascript
  • 是的,我使用 Javascript 并且它可以工作。
  • 我仍然很困惑为什么使用

标签: c# asp.net vb.net visual-studio-2013


【解决方案1】:

您对ASP.Net postback 和经典HTTP Request (在本例中为GET)感到困惑

只有 ASP.Net 进行回发,这是由捆绑到 ASP.Net 中的 __doPostback() JavaScript 调用触发的非标准交互。

元标记的作用是标准的 HTTP GET。

不同之处(在您的特定场景中)是回发将在发生某些事情时到达调用页面(客户端触发到服务器的 HTTP POST 并且 ASP.Net 处理调用),而元将简单地触发 GET到新页面(客户端只是调用新页面,不与调用页面交互)

希望能解释一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    相关资源
    最近更新 更多