1

也许这个问题有点太笼统了,但我会通过解释我的场景来尝试缩小范围。

我有一个登录页面,带有一个 html 输入按钮:

<input runat="server" id="btnLogin" type="submit" value="Login"></input>

该按钮触发运行验证例程的 btnLogin_ServerClick 事件。

如果用户通过验证,则会发生以下情况:

HttpContext.Current.Response.Redirect("~/myPage.aspx")

这在开发环境中都很好。

但是,在我部署了我的应用程序之后,经过验证的用户仍将被重定向到 localhost URL,而不是与根目录对应的应用程序 URL。

经过大量试验和错误后,我通过将按钮更改为 webcontrol 命名空间按钮解决了这个问题:

<asp:Button runat="server" ID="btnLogin" Text="Login"/>

这会在后面的代码中触发 Click 事件。

该例程与开发环境中的例程完全相同,但用户现在被重定向到相应的 URL。

那么,谁能解释为什么 ServerClick 事件使 Response.Redirect “行为”不同?

4

0 回答 0