我正在尝试在按钮点击时更改当前aspx页面的url为其他url。使用Request.Url.AbsoluteUri可以获取url,但是否可能进行修改?如果是,需要采取哪些操作,我的意思是它会是一个新请求还是后台提交。
请告知您的看法。
谢谢, Mehul makwana
请告知您的看法。
谢谢, Mehul makwana
不,无法从代码后台修改当前页面的URL。
当代码运行时,一个新的请求或后台处理已经在进行中,因此一旦新的响应完成,当前页面将不再存在。
当正在创建的页面在浏览器中加载时,它的URL将被使用,而不是当前页面的URL。这个URL在请求之前就已经被决定了,因此您也无法更改它。
您可以使用Response.Redirect
方法向浏览器返回一个重定向页面,并带有您想要的URL。然后,浏览器将向服务器发出另一个请求,以获取该URL对应的页面。
如果您想在不使用重定向的情况下更改要获取的页面的URL,则在代码后台进行操作为时已晚。您必须使用客户端脚本更改按钮的功能,以便直接请求新的URL而不进行后台处理。
您可以使用Response.Redirect()
或Server.Transfer()
,但我建议使用前者而不是后者。
考虑使用jQuery或类似的库——它将允许您修改页面的DOM。如果您只能在服务器上生成新的URL,请考虑向服务器发送ajax请求。Web方法将返回一个包含新URL的自定义对象。您将使用Web方法返回的数据,并使用jQuery或任何类似的库替换它。
这将是一个新请求
。
您可以尝试使用Response.Redirect
或Server.Transfer
。