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,以将所有变量发布到新页面上。希望这可以帮助。