2012-06-13 39 views
0

我知道這是對Stack的重複問題。但在我的情況下,我使用的URL是傳遞查詢字符串的細節。如何在瀏覽器中隱藏URL asp.net

http://servername:82/root/ReportViewer.aspx?Id=/test/base/eg1 &Name=ReportDeatilName & User=783534

如何隱藏整個查詢字符串?

+2

你可以使用URL重寫......找'http://服務器:82 /根/ ReportViewer.aspx編號= /測試/基/點撥和名稱= ReportDeatilName&用戶= 783534'和重定向/ SENDTO'http://服務器:82 /根/ ReportViewer.aspx編號= /測試/鹼/ eg1'例如 – dtsg

+0

杜安從菜單項的NavigateUrl在ASP生成此URL。在這種情況下,網絡也將它的工作 – Pratik

+0

我認爲這並不重要,如果你想「隱藏它」通過http post方法發送它(即使它是「反對」REST的東西,如果你想要的是「得到「來自服務器的東西,而不是修改的資源...)使用js隱藏表單 – jjchiw

回答

3

如果可以的話,而不是使用GET通話時,您可以生成使用POST通話。
所以你的URL看起來清潔劑(如:服務器:82 /根/ ReportViewer.aspx),因爲所有的相關信息都在<form>發送。

+0

我沒有使用任何GET或POST通過自己但在Asp.net頁面使用的MenuItems的NavigateURL – Pratik

+0

@PratikGupta - 所有超鏈接/使GET請求,他們是否擁有查詢字符串/瓦爾是無關緊要的(在GET的情況下),默認情況下(除非你明確地改變了請求的類型,超鏈接將是GET)。這個問題似乎是重複的,因爲它可能沒有解釋爲什麼**提供。 Indio的答案(使用'POST')非常好。所以'server.transfer'和URL重寫。所有這些都可以用於你的情況。 – EdSF

2

您可以使用Server.Transfer從後面的代碼。

This'd看你是從同一個頁面responsing。與Response.Redirect類似,但只是更改Web服務器上的「焦點」並傳輸請求。

Server.Transfer("http://servername:82/root/ReportViewer.aspx?Id=/test/base/eg1 &Name=ReportDeatilName&User=783534"); 
+0

Abdul我無法使用這種方法,因爲你可以通過NavigateUrl字段生成我的回覆 – Pratik

1

使用Server.Transfer從後面的代碼