從aspx頁面成功登錄到html頁面後會話正在傳遞,我希望能夠使用JSON獲取會話對象並修改html元素,任何人都可以發佈有關如何使用JSON的簡單示例嗎?使用JSON管理HTML頁面上的ASP.Net會話?
謝謝。
從aspx頁面成功登錄到html頁面後會話正在傳遞,我希望能夠使用JSON獲取會話對象並修改html元素,任何人都可以發佈有關如何使用JSON的簡單示例嗎?使用JSON管理HTML頁面上的ASP.Net會話?
謝謝。
您需要從客戶端向Web服務方法或頁面方法(在您的頁面中定義的webmethod)進行AJAX調用。
如果您選擇的頁面方法的選擇你的代碼可能是這樣的:
你背後的Page.aspx的
public class CustomSessionObject
{
public string Name { get; set; }
}
[WebMethod]
public static object GetSessionData()
{
try
{
return HttpContext.Current.Session["THE_SESSION_VAR_YOU_NEED"] as CustomSessionObject;
}
catch (Exception e)
{
//Log Exception
throw;
}
}
我不會建議總是回饋所有會話代碼瓦爾。明確說明,只給出你需要的。通過這種方式,如果其他開發人員在稍後的時間添加更多的用戶會話變量,他們將不會被返回。如果你這樣做,這可能是未來的安全漏洞。
使用JQuery進行AJAX調用。
var handleError = function(jqXHR, textStatus, errorThrown) {
alert("An error occurred: " + jqXHR.responseText);
};
var handleSuccess = function(data, textStatus, jqXHR) {
if (data && data.d) {
alert(data.d.Name);
}
};
$.ajax({
url: 'Page.aspx/GetSessionData',
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: handleSuccess,
error: handleErr
});
也讀了this瞭解更多信息。
Session
對象通常是服務器端的,使用存儲在客戶端cookie中的會話密鑰進行引用。
此外,JSON是一種數據傳輸格式,所以它並沒有真正做任何事情。也許你的意思是jQuery?
如果您希望能夠在客戶端和服務器上修改它,您需要客戶端Cookie。閱讀本概述:http://msdn.microsoft.com/en-us/library/ie/ms178194.aspx
我想要WebForms。 –
你能否詳細說明你的請求,甚至可以添加你看起來像什麼東西的代碼片段? – linkerro
讓我試着重述一下你的問題。你想獲得所有的用戶會話變量序列化爲客戶端使用JavaScript中提供的JSON? –