gpt4 book ai didi

c# - 通过 JavaScript 将值分配给 Asp.net 标签,然后通过 C# session 对象传递时出现问题

转载 作者:行者123 更新时间:2023-11-28 21:16:04 25 4
gpt4 key购买 nike

我通过 JavaScript 通过简单的 innerHTML 调用将变量分配给 asp 标签

示例:

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


它在标签中显示得很好,我可以继续通过 javascript 操作它。

然后我进行设置,以便通过 C# 代码隐藏的 ButtonClick 事件将该变量放入 session 对象中。

示例:

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


ButtonConfirm_Click 方法会触发 Response.Redirects 到另一个页面,并通过 C# 代码隐藏的 page_load 方法使用 session 对象填充 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 将呈现的内容)不会在帖子中发送到服务器,因此您无法在服务器端读取更改。您需要使用输入元素(隐藏字段、文本框等,具体取决于您的用户界面的外观)。

关于c# - 通过 JavaScript 将值分配给 Asp.net 标签,然后通过 C# session 对象传递时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7551315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com