【问题标题】:Web Part Storing Persistent Variable (ViewState/Session?)Web 部件存储持久变量(ViewState/Session?)
【发布时间】:2014-02-16 19:48:35
【问题描述】:

我正在用 C# 开发自定义 SharePoint 2010 Web 部件(非可视化)。

我需要能够跨回发维护持久变量(例如下拉列表的选定值),但它对于每个单独的用户和 Web 部件所在的页面/选项卡都是唯一的。将变量存储在页面中。会话完成每个用户的要求,但在该用户的相同窗口/选项卡中保留变量值。这个link 描述了我所做的事情,但它绝对不是每个窗口/标签唯一的。

我不确定存储变量的最佳方式,但我尝试使用 ViewState 失败。我已在 web.config 中确认它已启用,但无法像使用 Page.Session 一样使用 ViewState 有人可以帮忙吗?

也许回发不是正确的术语?我的代码其实是:Context.Response.Redirect(Context.Request.RawUrl);

谢谢, MK

【问题讨论】:

    标签: sharepoint web-parts viewstate


    【解决方案1】:

    您使用“Context.Response.Redirect(Context.Request.RawUrl)”是否有原因?

    您正在清除以这种方式加载页面的 View-State 数据。

    【讨论】:

    • 感谢您的回复!我基本上是在重新粉刷屏幕。 Web 部件中有一个 SQL 馈送数据网格。下拉列表包含该 SQL 数据库中的表列表。我试图存储一个字符串,该字符串将保持下拉列表中的选定值。当下拉列表更改时,它会重定向到使用新选择的表重建数据网格的同一页面。现在我将该字符串存储在 Page 中。会话,但这并不能使每个窗口/选项卡都独一无二。谢谢,MK
    • 好吧,您总是可以在回发的数据网格中加载新表。您不需要再次加载整个页面。话虽如此,您应该能够使用 QueryString 来存储您的值。
    猜你喜欢
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 2011-02-27
    • 2018-10-10
    • 1970-01-01
    相关资源
    最近更新 更多