可能重複:
Get query string values in JavaScriptASP.NET頁面方法 - 如何獲取頁面方法內的url參數值?
我有一個日曆網頁。當用戶打開事件時,它會打開帶有如下網址的頁面:「http://localhost/Event.aspx?eventid=4」 然後,我使用jQuery調用頁面方法來顯示一些額外的數據。我通過$ .ajax函數發送的數據參數還包括「eventID」(用於顯示正確事件的數據)。 如果用戶手動(假設通過螢火蟲控制檯)執行jQuery調用僞造「eventID」的頁面方法,他會得到錯誤的數據。 我想阻止,...以一種不發送jQuery數據參數的eventid的方式,但以某種方式獲得服務器端代碼隱藏的eventid。 事情是,我不能使用會話(因爲用戶可以打開多個事件,每個人都有它自己的eventID),我也不能使用cookie,因爲他們也可以被黑客攻擊。 所以我想直接拿到第方法中正確的事件ID,用
HttpContext.Current.Request.QueryString
,但沒有運氣。 在Page_Load中,我得到我的事件ID:
EventID = Page.Request.QueryString("eventid")
,但我不能找到一個辦法讓這個事件ID值到我的網頁的方法。
所以,我要求的是如何從Page_Load中定義的url或public變量中獲取頁面方法參數值的建議。
感謝。
編輯: 目前我使用POST發送參數,如:
var myEventId = $("#hiddenField").val();
$.ajax({
url: "Event.aspx/getEventData",
type: "POST",
data: "{'eventid':myEventId}"
...
});
但我想,以避免發送事件ID參數與POST,防止黑客入侵。
如何使用POST而不是得到什麼?在這種情況下,你可以在頁面上有一個隱藏字段,可以發佈到服務器來調用你的方法... – Sunny
這個問題可能會幫助你:http://stackoverflow.com/questions/901115/get-query-string僅供參考 –
僅供參考,POST請求對於惡意用戶來說比GET請求更安全,反之亦然。 – Jeff