我有一个带有网格(telerik)的表格,我认为其背后的技术并不重要。我让用户单击网格中的一行。单击期间,我使用Java Grid从网格中提取了一个值,如下所示:
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函数,并使用VIEW或EDIT模式将它们发送至正确的.aspx页,这些模式直接取决于代码。
我想做的是一旦进入Main1.aspx页面,我希望能够继续保留CODE值,因为当用户执行某些操作时,我需要调用一个javascript功能并使用实际的CODE来确定用户将能够执行的操作.....
var Code = eventArgs.getDataKeyValue("Status");
有什么办法可以像创建名为GLOBAL变量的
CodeValue
我可以在不使用URL的情况下传递到另一种形式吗?
答案 0 :(得分:2)
当浏览器导航到页面时,将从浏览器中卸载所有当前的JavaScript。这意味着除非您以某种方式保留了该值,否则将无法在新页面上访问任何函数/变量等。
保留值的常用方法包括:
对于您的情况,排名第一可能是最好的选择(请记住,用户可以向您的站点打开多个浏览器/选项卡)。
答案 1 :(得分:1)
从URL
获取值的一种方法是这样的:在页面Main1.aspx
上,您向JavaScript
添加了function
,该页面将在页面加载并运行后运行。将从当前的URL
var globalValue; // variable that will receive the value from URL
window.onload = function() {
var thisURL = window.location.href;
globalValue = url.split("?").pop();
// this will store in globalValue everything that comes after the last "?"
// example: if the url is www.site.com/text?value, it will store string "value" to globalValue
};