0

我对 asp.net 非常陌生,在我浏览它的功能时,我发现如果你使用Server.Transfer而不是Response.Redirectthen,除其他外,你可以保留原始页面的 URL。我创建了两个测试页面。

第一个有一个文本框和一个按钮。单击按钮时,文本框的内容保存在Session变量Server.Transfer中,用于加载第二页。在这个页面上有一个按钮和一个标签。当您单击该按钮时,标签将填充会话变量中保存的内容。

问题是,当我单击第二页上的按钮并更改标签时,URL 会更改为第二页的 URL。这似乎有点违背目的,那么我该如何保留 URL?

4

1 回答 1

2

单击第二页上的按钮会导致回发,并且服务器会显示您要回发到的页面的 URL(第二页)。实际上,你已经Response.Redirect对自己做了一个。

我很好奇为什么你想让两个单独的.aspx页面表现得好像它们只是一个。使用的主要缺点之一Server.Transfer是当用户认为他们在一个新页面上时,它会引起混淆,但浏览器却说不然;特别是在书签场景中。

如果您希望逻辑驻留在单个.aspx页面中,但充当两个独立的逻辑单元,那么我建议您使用ASP.NET Panel根据需要显示/隐藏逻辑的控件,并且页面的代码隐藏可以对必要的事件做出反应(即按钮点击) 都在一个页面中,并且 URL 将始终相同。

于 2013-07-06T00:48:49.263 回答