2008-09-24 78 views
2

我有一個存儲事件的數據庫和一個帶有日曆對象的頁面。在渲染通過月份事件查看日期時,如果任何匹配項呈現當前日期,則會創建一個鏈接按鈕來表示日曆中當天的事件並將其添加到該單元格中。我添加了一些JavaScript的linkbutton更改window.location頁面查看事件詳細信息傳遞EventID在查詢字符串(我試圖設置新創建的linkbutton postbackurl,但它沒有造成回傳...沒有運氣)。我需要設置一個會話變量即。會話(「EditMode」)=「編輯」所以新的頁面會知道它是獲取現有的事件信息,而不是準備創建新事件?有什麼建議麼?Javascript和會話變量

+0

你存儲了哪些事件?還有,你可以發佈一些代碼嗎? – 2008-09-24 20:54:42

回答

6

您的會話變量由服務器控制, JS運行客戶端,因此無法直接修改變量。

您需要使用POST進行服務器請求或GET和隱藏 IFRAME或XMLHTTPRequest的()調用從JS將數據發送到 服務器,然後讓你的服務器端代碼處理瓦爾。

添加另一個查詢字符串變量,頁面可以使用該變量觸發現有的vs new。

6

添加另一個頁面可用於觸發現有vs new的查詢字符串變量。

1

您一定需要添加一個變量到目標頁面。但我認爲你正在做一個彈出的場景,所以你應該能夠創建一個JavaScript函數OpenWindow()並在用戶點擊鏈接時關閉它。

<script> 
function OpenWindow(eventId, editMode) 
{ 
    var window = window.open("popup.aspx?eventId=" + eventId + "&editMode=" + editMode); 
} 
</script> 

在服務器端,您需要構建對OpenWindow函數的調用。例如:

onclick="OpenWindow(eventId=" + row["eventId"].ToString() + "&editMode=" + editMode.ToString() + ");" 

換句話說,準備在服務器端的一切設置您的JavaScript將所有變量發佈到新頁面。希望這可以幫助。

2

如果您正在使用像Struts2的,你可以在你的JSP有一個隱藏的變量

<s:hidden id="EditModeId" value="%{#session.EditMode}"/> 

而在JavaScript中只需在其他頁面使用此訪問這個變量

alert(document.getElementById('EditModeId').value); 
0
var page1 = document.getElementById("textbox").value; 
sessionStorage.setItem("page1content", page1); 

價值像會議變量

document.getElementById("textbox2").value=sessionStorage.getItem("page1content");