我有网格(telerik)的形式,我认为它背后的技术并不重要。我让用户单击网格中的一行。在单击期间,我使用 Javascript 从网格中提取一个值,如下所示:
function RadDrillDoubleClick(sender, eventArgs) {
var Code = eventArgs.getDataKeyValue("Status");
if (Code == "In Progress" || Code == "")
{
location.href = "Main1.aspx?mode=edit&DID=" + eventArgs.getDataKeyValue("D_ID");
}
else {
location.href = "Main1.aspx?mode=view&DID=" + eventArgs.getDataKeyValue("D_ID");
}
}
用户单击网格后,我调用此 JS 函数并将它们发送到正确的 .aspx 页面,其中查看或编辑模式直接取决于代码。
我想做的是,一旦我到达Main1.aspx页面,我希望能够继续保存CODE值,因为当用户执行某个操作时,我需要调用javascript函数并使用实际的代码来确定用户将能够执行的操作......
var Code = eventArgs.getDataKeyValue("Status");
有什么方法可以创建一个名为的全局变量
CodeValue
我可以传递到另一个表单而不用在 URL 中执行它吗?
最佳答案
当浏览器导航到某个页面时,所有当前的 JavaScript 都会从浏览器中卸载。这意味着除非您以某种方式保留该值,否则任何函数/变量等都将无法在新页面上访问。
保存值的常见方法包括:
- 将其添加到用户导航到的 URL 的查询字符串
- 将值保存到 Cookie
- 将值保存到本地/ session 存储
对于您的场景,#1 可能是您的最佳选择(请记住,用户可以打开多个浏览器/选项卡来访问您的网站)。
关于javascript - 在 javascript 中设置变量以在另一种形式中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57083702/