當代碼var accNo = '<%=Session["hdnAccession"]%>';
將被執行?我更改Page_LoadComplete
事件中的會話變量,但是當我使用var accNo = '<%=Session["hdnAccession"]%>';
訪問它時,它始終返回我設置的第一個值。在Page_LoadComplete
,我喜歡以下... Session["hdnAccession"] = GetNewAccession()
,當我調試時,我看到每次更新Session["hdnAccession"]
。但爲什麼它不會在JavaScript中更新?我處於不能使用HiddenField
而不是Seession
的情況。從JavaScript訪問ASP.NET會話變量
2
A
回答
2
您需要創建一個PostBack來訪問來自JS的會話變量。像這樣:
<script type="text/javascript">
<!--
function setSessionVariable(valueToSetTo)
{
__doPostBack('SetSessionVariable', valueToSetTo);
}
// -->
</script>
private void Page_Load(object sender, System.EventArgs e)
{
// Insure that the __doPostBack() JavaScript method is created...
this.GetPostBackEventReference(this, string.Empty);
if (this.IsPostBack)
{
string eventTarget = (this.Request["__EVENTTARGET"] == null) ? string.Empty : this.Request["__EVENTTARGET"];
string eventArgument = (this.Request["__EVENTARGUMENT"] == null) ? string.Empty : this.Request["__EVENTARGUMENT"];
if (eventTarget == "SetSessionVariable")
{
Session["someSessionKey"] = eventArgument;
}
}
}
1
必須使用一些服務器端控件來做到這一點(如HiddenField或RUNAT =「服務器」隱藏的範圍)。
<%= Session [「hdnAccession」]%>只會在您第一次進入頁面時進行評估,而不是在回發期間進行評估。
+0
我不能使用'HiddenField' – Rauf
0
當頁面呈現時,您的代碼塊正在獲取其值,因此應在客戶端正確看到在Page_Load
或Page_LoadCompleted
中設置的任何值。
如果不是,則必須有其他問題 - 嘗試通過向頁面添加一個臨時屬性來進行測試,在Page_Load
中對其進行初始化並將其寫入客戶端(即var test = "<%=SomeProperty%>";
)。
如果問題發生後才執行回發(這不是很清楚你的問題),你可能不得不使用隱藏的領域。可能還有其他方法可以解決這個問題,但是我看不到您可以實施它們並且無法添加隱藏字段的情況。
相關問題
- 1. ASP.NET MVC3會話變量不可訪問
- 2. ASP.NET:訪問會話變量global.asax
- 3. 訪問會話變量8
- 4. 如何在asp.net mvc中使用javascript變量作爲鍵訪問會話變量?
- 5. 從佈局頁面訪問會話變量ASP.NET MVC3 RAZOR
- 6. 如何從ASP.Net中的Base類訪問會話變量?
- 7. 如何從APP_CODE訪問一個asp.net會話變量?
- 8. 可以從@Page訪問會話變量,但不能從基礎類訪問會話變量
- 9. 會話變量asp.net
- 10. Asp.net會話變量
- 11. 從Javascript訪問C#變量?
- 12. 從JavaScript訪問C#變量
- 13. 從JSF訪問Javascript變量
- 14. 從PHP訪問JavaScript變量
- 15. RSpec spec_helper訪問會話變量
- 16. 無法調用訪問會話變量
- 17. Spring MVC 3.0訪問會話變量
- 18. 使用會話變量訪問頁面
- 19. PHP會話變量不可訪問
- 20. Spring框架訪問會話變量
- 21. 類中的訪問會話變量
- 22. 來自HTTPModule的訪問會話變量
- 23. 在Facebook C#SDK中訪問ASP.Net會話變量
- 24. 如何通過靜態變量訪問ASP.NET Core中的會話?
- 25. 訪問asp.net變量
- 26. asp.net中的會話變量
- 27. 會話變量錯誤asp.net
- 28. PHP不訪問通過JavaScript代碼設置的會話變量
- 29. 如何訪問會話變量並在JavaScript中設置它們?
- 30. 訪問javascript內部的codeigniter會話變量
你試圖完成什麼? – Arief
是否緩存頁面輸出? –