2011-09-26 28 views
0

我分配變量到ASP通過JavaScript標籤用一個簡單的innerHTML調用問題時,然後通過C#會話對象傳遞

例如:

document.getElementById('labelName').innerHTML = parseFloat(var).toFixed(2);


它出現在標籤罰款,我能夠繼續通過JavaScript處理它。

然後設置它,以便通過C#codebehind buttonClick事件將該變量放入會話對象中。

例如:

protected void btnConfirm_Click (object sender, EventArgs e) 
{ 
    Session["sessionName"] = labelName.Text; 
} 


的buttonConfirm_Click方法觸發它Response.Redirects到另一個網頁並且經由C#代碼隱藏Page_Load方法會話對象填充ASP標籤。

例如:

lblResult.Text =會話[ 「SESSIONNAME」]的ToString();


在這樣做時,標籤是空的,沒有錯誤或 '無效'。我試圖通過嘗試各種事情來縮小問題範圍。當我在第一頁後面的c#代碼中明確指定文本並接收並將其分配給下一頁上的標籤時,它會正確顯示。

例如:

Page 1: 
Session["sessionName"].ToString() = "Test"; 

Page 2: 
lblResult.Test = Session["sessionResult"].ToString(); 


我已經嘗試過其他幾件事情,如鑄造在JavaScript和代碼隱藏的變量,並檢查以確保我有RUNAT =「服務器」中的每個應用標籤。

無論如何,這裏有什麼我想念? asp.net無法檢測到javascript對標籤所做的更改嗎?使用innerHTML或類似的東西可能會導致這樣的事情發生時,是否存在一些不兼容問題?

在此先感謝!

回答

3

問題是span標記中的文本(即asp:Label將呈現的內容)不會發送到服務器,因此您無法讀取更改服務器端。你需要使用一個輸入元素(隱藏字段,文本框等,這取決於你的UI應該是什麼樣子)。

+0

這非常有意義!感謝您的澄清。 – zillaofthegods

相關問題