我使用ViewState在sharepoint上将一些数据从一个页面保存到另一个页面,当我在Page_Load事件中写这行时,我收到一个错误,但它没有说什么。任何线索?
Label l = new Label();
l.Text = ViewState["user"].ToString();
还有这个
Session["user"] = (sender as LinkButton).Text;
答案 0 :(得分:4)
我正在使用ViewState来保存一些数据 从一个页面到另一个
也许我误会但是不查看状态只适用于当前页面?您不能在一个页面上存储处于视图状态的内容,而是从另一个页面再次加载它。 MSDN文章Understanding ASP.NET View State可能会有所帮助。
要在页面之间传输数据,您应该查看会话状态或ASP.NET缓存等内容。
<强>更新强>
你需要找出那个错误是什么。关闭web.config中的自定义错误,以便查看全文(有关详细信息,请参阅step 3 of this article)。
答案 1 :(得分:1)
答案 2 :(得分:1)
在pages部分的web.config中启用Sessionstate:
<pages enableSessionState="false" ...
但请注意,如果您正在运行多机场(即超过1个Web前端/应用服务器),则需要基于SQL Server的会话(或asp.net状态服务)。
我建议您在启用它之前阅读有关SharePoint和会话状态的内容。
P.S。您也可以为每个页面启用会话状态,但同一个警告适用于多个计算机场(
答案 3 :(得分:0)
当您为查看状态编写值时,它将以加密字段存储在该页面上。它仅在该页面上可用。如果您有一个回发的页面,这是可以的。
在请求之间存储信息还有其他几种选择:
在您的情况下,最简单的可能是使用会话状态。
要启用会话状态,请按照此链接中的说明进行操作: