C# 使用Server.Transfer保留页面URL,如何在单击新页面上的按钮时保留URL?

C# 使用Server.Transfer保留页面URL,如何在单击新页面上的按钮时保留URL?,c#,asp.net,C#,Asp.net,我对asp.net非常陌生,在浏览它的功能时,我发现如果使用Server.Transfer而不是Response.Redirect,那么除其他外,您可以保留原始页面的URL。我创建了两个测试页面 第一个有一个文本框和一个按钮。单击按钮时,文本框的内容保存在会话变量和服务器中。传输用于加载第二页。在这个页面上有一个按钮和一个标签。单击按钮时,标签将填充会话变量中保存的内容 问题是,当我单击第二页上的按钮,标签被更改时,URL将更改为第二页的URL。这似乎有点违背了目的,那么如何保存URL呢?单击第

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

第一个有一个文本框和一个按钮。单击按钮时,文本框的内容保存在
会话
变量和
服务器中。传输
用于加载第二页。在这个页面上有一个按钮和一个标签。单击按钮时,标签将填充会话变量中保存的内容


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

单击第二页上的按钮会导致回发,服务器会显示您要回发的页面(第二页)的URL。实际上,您已经做了一个
响应。将
重定向到您自己

我很好奇,为什么您希望有两个独立的
。aspx
页面的行为就好像它们只是一个一样。使用
Server.Transfer
的一个主要缺点是,当用户认为自己在一个新页面上时,它会导致混乱,但浏览器会说不是这样;特别是在书签场景中


如果您希望逻辑驻留在一个
.aspx
页面中,但充当两个独立的逻辑单元,那么我建议您使用
ASP.NET面板
控件,根据需要显示/隐藏逻辑,页面的代码可以对必要的事件作出反应(即,按钮单击)所有在一个页面和URL将是相同的整个时间

我现在没有理由想要这个,我只是在学习ASP.Net。我想知道如何做到这一点,以防将来我有理由这么做。毕竟,一定有一些地方是有用的?如果不是,为什么允许URL保持不变呢?这里有一个类似的问题。它给出了一个很好的列表,列出了您应该在接受的答案中使用每种方法的时间。