我试图通过点击按钮将当前aspx页面的url更改为另一个url。使用Request.Url.AbsoluteUri我可以获取url但是可以修改吗?如果是,我将采取什么行动,这将是一个新请求或回复。
请告诉我你的意见。
谢谢, Mehul makwana
答案 0 :(得分:5)
不,无法从后面的代码修改当前页面的URL。
当代码运行时,新请求或回发已在进行中,因此一旦新响应完成,当前页面将不再存在。
当浏览器中加载当前正在创建的页面时,将使用它的URL而不是当前页面的URL。此URL已在请求之前确定,因此您也无法更改。
您可以使用Response.Redirect
方法将重定向页面返回到具有所需URL的浏览器。然后,浏览器将向服务器发出另一个请求以获取包含该URL的页面。
如果您想在不使用重定向的情况下更改页面的URL,那么在代码中执行此操作为时已晚。您必须使用客户端脚本更改按钮的功能,以便它直接请求新URL而不进行回发。
答案 1 :(得分:3)
您可以使用Response.Redirect()
或Server.Transfer()
,但我会使用前者而不是后者。
答案 2 :(得分:2)
考虑使用jQuery或类似的库 - 它将允许您修改页面的DOM。如果只能在服务器上生成新URL,则考虑向服务器发送ajax请求。 Web方法将返回一些包含新URL的自定义对象。您将使用Web方法返回的数据,并使用jQuery或任何类似的库替换它。
答案 3 :(得分:1)
它将是new request
。
您可以尝试使用Response.Redirect
或Server.Transfer