我有一个在其中存储事件的数据库和一个带有日历对象的页面。在渲染日期时,它会查看月份事件,如果与当前日期匹配,它会创建一个链接按钮来表示日历上当天的事件并将其添加到该单元格。我向链接按钮添加了一些 javascript,以将 window.location 更改为页面以查看在查询字符串中传递 EventID 的事件详细信息(我尝试设置新创建的链接按钮的 postbackurl,但它不会导致回发......不走运)。我需要设置一个会话变量,即。Session("EditMode") = "Edit" 那么新页面会知道它是获取现有事件信息而不是准备创建新事件吗?有什么建议么?
Justin
问问题
44898 次
5 回答
7
您的会话变量由服务器控制,JS 运行客户端,因此无法直接修改变量。
您需要使用 POST 或 GET 和隐藏的 iframe 或 XMLHTTPRequest() 调用来发出服务器请求以将数据从 JS 发送到服务器,然后让您的服务器端代码处理变量。
添加另一个查询字符串变量,该页面可用于触发现有与新的。
于 2008-09-24T21:05:41.650 回答
6
添加另一个查询字符串变量,该页面可用于触发现有与新的。
于 2008-09-24T20:54:13.940 回答
2
如果你使用类似 Struts2 的东西,你可以在你的 jsp 中有一个隐藏变量
<s:hidden id="EditModeId" value="%{#session.EditMode}"/>
并且在 javascript 中简单地访问这个变量
alert(document.getElementById('EditModeId').value);
于 2011-03-18T05:32:31.977 回答
1
您肯定需要向目标页面添加一个变量。但我认为你正在做一个弹出场景,所以你应该能够创建一个 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 以将所有变量发布到新页面。希望这可以帮助。
于 2008-09-24T23:40:37.267 回答
0
var page1 = document.getElementById("textbox").value;
sessionStorage.setItem("page1content", page1);
在其他页面中将此值用作会话变量
document.getElementById("textbox2").value=sessionStorage.getItem("page1content");
于 2014-07-01T10:56:46.673 回答