0

可能重复:
如何在 C# 和 JavaScript 之间共享变量?

我正在增强一个 C# ASP.NET Web 应用程序,它在 HTML 中有两个重要的部分。有两个菜单选项可以隐藏一个,另一个不隐藏。我们称它们为第一页和第二页。

问题是页面上的某些内容会导致回发,这会导致完全刷新并强制默认为第一页。此外,我们每五分钟自动刷新一次以获取新的页面内容。如果用户在自动刷新或由于用户单击某些内容后的回发时恰好正在查看第二页,则该页面会自动返回到第一页。

长期的解决方案是正确使用 AJAX。现在我需要一种快速而肮脏的方法来记住用户在刷新时所在的页面,然后在刷新时将他放回该页面。

我可以在 C# 中的服务器端创建一个可以在客户端使用 JavaScript 查询的变量吗?从技术上讲,如果我能以某种方式让客户端从页面刷新到刷新,服务器不需要知道浏览器中显示了哪个页面 div。有没有办法做到这一点?

如果这看起来很简单,请原谅我。我有多年的编程经验(主要是 MS-DOS 和 Unix 世界中的 C/C++),但在 ASP.NET 环境中却不是很多。

4

1 回答 1

1

如果您使用元标记来刷新页面<meta http-equiv="refresh" content="600"/>,那么您应该将标签/页面 id 与 url 一起传递:

<meta http-equiv="refresh" content="600;url=http://yourdomain.com/page.html?tab=<%= tab %>/">

当您向页面发送任何回发时,还要添加此属性。

现在,您只需要在服务器端读取此属性的值并将其替换为元刷新标记:

tab = Request.QueryString["tab"]
于 2012-11-15T19:47:18.093 回答