JavaScript和会话变量

时间:2020-03-06 14:41:19  来源:igfitidea点击:

我有一个存储事件的数据库以及一个带有日历对象的页面。渲染日期时,它会查看月份事件,如果当前事件与当前日期匹配,则会创建一个链接按钮来表示日历中该日期的事件,并将其添加到该单元格中。我在链接按钮中添加了一些JavaScript,以将window.location更改为页面,以查看在查询字符串中传递EventID的事件详细信息(我尝试设置新创建的链接按钮的postbackurl,但这并没有引起回发...不走运。我需要设置一个会话变量,即。 Session(" EditMode")=" Edit"那么新页面会知道要获取现有事件信息而不是准备创建新事件吗?有什么建议?

解决方案

添加另一个查询字符串变量,页面可使用该变量来触发现有变量或者新变量。

会话变量由服务器控制,
JS在客户端运行,因此无法直接修改var。

我们需要使用POST或者GET发出服务器请求并将其隐藏
iframe或者XMLHTTPRequest()调用将数据从JS发送到
服务器,然后让服务器端代码处理var。

添加另一个查询字符串变量,页面可使用该变量来触发现有变量或者新变量。

我们绝对需要向目标页面添加变量。但是我认为我们正在执行弹出式场景,因此我们应该能够创建一个JavaScript函数OpenWindow()并在用户单击链接时将其触发。

<script>
function OpenWindow(eventId, editMode)
{
    var window = window.open("popup.aspx?eventId=" + eventId + "&editMode=" + editMode);
}
</script>

在服务器端,我们需要构建对OpenWindow函数的调用。例如:

onclick="OpenWindow(eventId=" + row["eventId"].ToString() + "&editMode=" + editMode.ToString() + ");"

因此,换句话说,准备服务器端的所有内容来设置JavaScript,以将所有变量发布到新页面上。希望这可以帮助。