如果我有http://mysite.com?abc=123&def=345,我可以在頁面加載時循環並刪除這些項目嗎?它看起來像Querystring是隻讀集合。如果該頁面是回發,查詢字符串數據是陳舊的。我想在這種情況發生時清理URL?任何想法如何做到這一點?有什麼辦法從asp.net中的Querystring中刪除項目?
0
A
回答
2
不幸的是,即使您從服務器端的字符串中刪除了項目,但當您將響應發送回來時,瀏覽器並不在乎 - 它仍然會使原始URL縮回。
您可以做的最好的做法是將瀏覽器重定向到一個新的URL,並通過發出Response.Redirect()
來刪除參數。
否則,請考慮將查詢更改爲使用POST而不是GET,因此參數不會顯示在URL中。
0
這裏的一些解決方案:
How can i remove item from querystring in asp.net using c#?
Outputing a manipulated QueryString in c#
你應該能夠提取值,刪除你不想要的那些,並重新構建查詢字符串。那麼,只需重定向到具有新值的頁面?
0
如果請求不是回發,那麼將queryString的副本分配給page_load中的頁面參數可能更明智一些。對副本進行修改,並將其用於任何進一步的操作。如果您需要在加載之間持續更改,請將修改的值分配給隱藏的表單字段。
protected void Page_Load(object sender, EventArgs e)
{
sring saveQueryString;
if (!IsPostBack)
{
saveQueryString = Request.QueryString.ToString(); // join here - I doubt .ToString() will return the expected a=1?b=2?c=3 string
// modify to your hearts content here...
hiddenFormField.Text = saveQueryString;
}
else
saveQueryString = Request.Form[hiddenFormField.Id];
}
這對僞代碼結束比可執行文件更多,但我希望它足夠好用於說明目的。
相關問題
- 1. 如何從c#中的asp.net中的querystring中刪除項目?
- 2. 有什麼辦法從VB6項目中刪除多個表單?
- 3. 有沒有辦法從隊列中刪除一個項目?
- 4. 有沒有辦法從ASP.NET MVC中的鏈接中刪除ID
- 5. EventKit:有沒有什麼辦法從EKEventEditViewController中刪除受邀者
- 6. 有什麼辦法可以在Django Admin中一次刪除多個項目嗎?
- 7. 有什麼辦法可以在ASP.NET MVC 5的QueryString中設置ActionName?
- 8. 有什麼辦法從GET請求中刪除提交按鈕?
- 9. 有什麼辦法從java.util.logging.Logger輸出中刪除信息行嗎?
- 10. 從集合中刪除項目的建議方法是什麼?
- 11. ASP.NET MVC中刪除項目
- 12. 從ASP.NET項目中刪除鏈接
- 13. 從Subversion中刪除web.config(ASP.NET項目)
- 14. 有沒有辦法在IntelliJ中乾淨地刪除項目?
- 15. Python:有什麼辦法從列表中獲取多個項目?
- 16. 有沒有什麼辦法從關係中的表中刪除記錄?
- 17. 從cocoapod項目中只刪除一個庫,我該怎麼辦?
- 18. 有沒有辦法從項目的輸出文件夾中刪除NuGet dll?
- 19. 有沒有什麼辦法可以在QGridLayout中刪除QWidget?
- 20. 無法從Eclipse中的項目視圖中刪除項目
- 21. 無法從ListBox中刪除項目
- 22. 無法從列表中刪除項目?
- 23. 無法從lsitviewbox中刪除項目
- 24. 無法從WinForms中刪除項目ListView
- 25. 有什麼辦法可以取消在Appengine中刪除索引?
- 26. 有什麼辦法在Mercurial中刪除本地提交?
- 27. 刪除Asp.Net新項目中的空間
- 28. 有沒有什麼辦法從每個幀標題中刪除「 - (171 x 55)」?
- 29. 從VB中刪除項目
- 30. 從JLIST中刪除項目
你爲什麼要清理它?爲了外觀的緣故?如果存在編程原因,請考慮在事件處理程序中使用if(!IsPostback)來區分原始和回發Page_Load()的。 – 2009-09-30 17:46:38
嚴肅地說,在對它進行處理之前,先對此進行一些思考。儘管正如其他受訪者已經正確指出的那樣,有很多方法可以實現這一目標,但是您正在顛覆微軟故意實施的機制,這是ASP.NET的一個組成部分。如果是外觀問題,請使用@ womp的使用POST和GET的建議。 – 2009-09-30 19:21:14