2010-04-07 32 views
2

我想知道是否还有另一个解决方案来解决我的问题,这被认为是更多的Sharepoint方式。首先,我的网站是一个互联网站点,而不是内联网。问题是,我想要做的就是在Sharepoint中保存页面间的值/变量。我知道Session变量的问题,但这似乎是我能看到完成这一任务的唯一方法。我知道有些webparts可以存储这个值,但是我错误地认为这不会在页面间持续存在?从页面到页面持续存在的值/变量

基本上,我会扩展内容查询Web部件基于掀起了变量/值来动态地过滤它的结果。用户从下拉菜单中选择他们的“区域”,并且网站中的CQWP将根据此值更改和查询结果(由于它是加拿大网站,它将是省级结构,因此如果某人选择省份“安大略省” ,这个值被保存在一个全局变量中,并且遍布整个站点的这些扩展的CQWP将获得这个值,并且查询列表被标记为安大略省)。

会话变量是唯一的解决方案吗?

谢谢大家!

回答

0

会话变量不是唯一的解决方案。您也可以使用浏览器Cookie。

不一定是“的SharePoint方式”,但它是一个选项。

0

在SharePoint的方式很可能是使用的东西在用户配置文件,但当然这不是因为适合一个匿名的网站。不要太担心走出SharePoint的做事方式 - 与互联网网站几乎是不可避免的。

我推荐一个cookie,而不是一个会话变量,如果你只需要存储的一个值 - 简单的从客户端或服务器代码,并没有你用会话获取的潜在存储问题使用。

0

您可以随时使用数据库来保存这种数据。不介绍SharePoint场景中会话的问题。

0

您可以阅读或写入或删除坚持在网络或web应用水平键/值,看看SPWeb.Properties Property

string strKey = "YourKey"; 
string strValue = "YourValue"; 

if (web.Properties.ContainsKey(strKey)) 
    // if property exists then update it 
    web.Properties[strKey] = strValue; 
else 
    // if property doesn't exist then add it 
    web.Properties.Add(strKey, strValue); 

web.Properties.Update(); 
相关问题