簡體   English   中英

從后面的代碼更改asp.net頁面的URL

[英]Change the url of asp.net page from code behind

我試圖通過點擊按鈕將當前aspx頁面的URL更改為其他URL。 使用Request.Url.AbsoluteUri我可以獲取url但是可以修改嗎? 如果是,我將采取什么行動,這將是一個新的請求或回復。

請讓我知道你的看法。

謝謝,Mehul makwana

不,無法從后面的代碼修改當前頁面的URL。

代碼運行時,新請求或回發已在進行中,因此一旦新響應完成,當前頁面將不再存在。

當在瀏覽器中加載當前正在創建的頁面時,將使用它的URL而不是當前頁面的URL。 此URL已在請求之前確定,因此您也無法更改。

您可以做的是使用Response.Redirect方法將重定向頁面返回到具有所需URL的瀏覽器。 然后,瀏覽器將向服務器發出另一個請求以獲取具有該URL的頁面。

如果您想在不使用重定向的情況下更改頁面的URL,那么在代碼中執行此操作為時已晚。 您必須使用客戶端腳本更改按鈕的功能,以便它直接請求新URL而不進行回發。

你可以使用Response.Redirect()Server.Transfer() ,雖然我使用的是前者而不是后者。

考慮使用jQuery或類似的庫 - 它將允許您修改頁面的DOM。 如果只能在服務器上生成新URL,則考慮向服務器發送ajax請求。 Web方法將返回一些包含新URL的自定義對象。 您將使用Web方法返回的數據,並使用jQuery或任何類似的庫替換它。

這將是一個new request

您可以嘗試使用Response.RedirectServer.Transfer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM