糾正我,如果我做錯了。將對象從一個Aspx傳遞給另一個來自Javascript
我有一個登錄頁面,它使用Webservice來處理登錄。在我的登錄頁面中,我使用json和JSon來使用web服務。
登錄處理後,我收到一個對象,我想將收到的對象重定向到主頁。
讓我知道如何。
感謝 塞繆爾
糾正我,如果我做錯了。將對象從一個Aspx傳遞給另一個來自Javascript
我有一個登錄頁面,它使用Webservice來處理登錄。在我的登錄頁面中,我使用json和JSon來使用web服務。
登錄處理後,我收到一個對象,我想將收到的對象重定向到主頁。
讓我知道如何。
感謝 塞繆爾
POST
將收到的JSON重定向到服務器,並將JSON反序列化爲您的類型化對象。您可以考慮將對象保留在SESSION中並在需要時訪問它。
UPDATE
把一個隱藏字段在您的ASPX/ASCX頁
一旦你從你的服務收到您的JSON數據。只要把你的迴應放在隱藏的領域。 (使用jQuery)
$("input[id$=jsonResponse]").val(responseFromService);
在您Page_Load
方法對你home.aspx
使用JavaScriptSerializer
到反序列化JSON數據
JavaScriptSerializer serializer = new JavaScriptSerializer();
LoginData loginDataObject = serializer.Deserialize<LoginData>(jsonResponse.Value);
現在你可以考慮把你的loginDataObject
到SESSION
,並通過訪問你的應用範圍
// to store in session
Request.Session["loginData"] = loginDataObject;
// to retrieve from session
LoginData loginDataObject = (LoginData) Request.Session["loginData"];
你可以存儲在一個cookie的對象,並使用location.href或類似的東西改變URL?
嗨尼爾,除了餅乾之外,還有別的辦法嗎?我覺得所有客戶都可能無法啓用cookie,並且時間難以追蹤。 –
不是用於在請求之間持續登錄的Cookie嗎?有@Munim的ASP.NET會話選項 - 但我很確定會話需要cookies(除非id在查詢字符串中看起來很可怕)。我想不出另一種方式,對不起。 –
穆尼姆,任何鏈接或樣品模擬代碼讚賞,因爲我是一個新手。 –
@塞繆爾請檢查更新的代碼 –
非常感謝Lot Munim。節省了一些寶貴的時間。 –