我用jquery ajax調用了一個很好的網頁,但注意到Page_Load未被調用用於jquery ajax POST請求。我需要Page_Load調用來訪問已登錄用戶的名稱,以通過POST接收到的數據來存儲數據庫,因爲代碼隱藏中的靜態WebMethod無法訪問Page對象。Page_Load未在POST請求上調用
我的問題:Page_Load沒有被POST請求調用是正常的嗎?如果是這樣,如何獲取用戶名的Page對象,而不使用Page_Load?
在comment on this question我讀:支持WebMethod不再維護。您應該考慮切換到Web API,因爲它支持得很好(並且更簡單!)
但是,使用Google搜索並沒有真正產生關於Web API的信息,因爲這是一個非常普遍的搜索術語。有關於此的任何信息?
更新:
我的問題是由靜態的WebMethod,使用的HttpContext如下評論解決,所以我並不需要的Page_Load。
是存儲在'session'您的用戶名直接實現同樣的事情? – Curiousdev
@Curiousdev不,用戶名取自Page.User.Identity.Name。而Session也不適用於靜態WebMethod。 – Roland
您正在使用ajax ...因此,您在「POST」後不會有Page_Load,因爲您的頁面未刷新。你可以在ajax post的響應中刷新你的頁面,但是如果你使用ajax,這沒有多大意義。你必須創建一個策略來在響應後訪問這個值。但是您首先需要了解ajax請求的工作原理。 –