簡體   English   中英

通過JavaScript將值分配給Asp.net標簽然后通過C#會話對象傳遞時出現問題

[英]Problems when assigning values via JavaScript to Asp.net labels and then passing via C# session object

我通過一個簡單的innerHTML調用通過javascript將變量分配給asp標簽

例:

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


它出現在標簽中,並且我可以繼續通過javascript對其進行操作。

然后,我對其進行設置,以便將該變量通過buttonClick事件后面的C#代碼放入會話對象中。

例:

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


buttonConfirm_Click方法將其激發響應。重定向到另一個頁面,並通過page_load方法后面的c#代碼使用會話對象填充asp標簽。

例:

lblResult.Text = Session [“ sessionName”]。ToString();


這樣做時, 標簽為空,沒有錯誤或為“ null”。 我試圖通過嘗試各種方法來縮小問題的范圍。 當我在第一頁和后面的c#代碼中顯式分配文本並將其分配給下一頁的標簽時,它將正確顯示。

例:

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

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


我嘗試了其他幾件事,例如在javascript和代碼隱藏中強制轉換變量,並檢查以確保我在每個適用的標簽內都有runat =“ server”。

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

提前致謝!

問題是span標記中的文本(即asp:Label將呈現的文本)沒有在帖子中發送到服務器,因此您無法讀取更改。 您需要使用輸入元素(隱藏字段,文本框等,具體取決於您的ui外觀)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM