![](/img/trans.png)
[英]asp.net c# - setting session then redirecting users via global.asax
[英]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.