Sind die ViewState- und Sitzungsvariablen in WebParts in SharePoint falsch?

Ich benerste ViewState, um einige Daten von einer Seite auf eine andere auf Sharepoint zu speichern, und wenn ich diese Zeile auf dem Page_Load-Ereignis schreibe, erhalte ich eine Fehlermeldung, aber es sagt nichts aus. Irgendwelche Hinweise?

 Label l = new Label();
 l.Text = ViewState["user"].ToString();

und auch dieses eine

Session["user"] = (sender as LinkButton).Text;

Antwort auf "Sind die ViewState- und Sitzungsvariablen in WebParts in SharePoint falsch? " 4 von antworten

....

In Ihrem Fall ist es wahrscheinlich am einfachsten, den Sitzungsstatus zu verwenden.

Um den Sitzungszustand zu aktivieren, folgen Sie den Anweisungen in diesem Link:

http://msdn.microsoft.com/en-us/library/ms972429.aspx

Wenn Sie einen Wert schreiben, um den Status anzuzeigen, wird er auf dieser Seite in einem verschlüsselten Feld gespeichert. Sie ist nur auf dieser Seite verfügbar. Dies ist in Ordnung, wenn Sie eine einzelne Seite haben, die Sie veröffentlichen.

Es gibt mehrere andere Alternativen zum Speichern von Informationen zwischen Anforderungen:

  • Senden Sie es als Abfragezeichenfolge
  • Speichern Sie es in sitzungsgemäß im Speicher oder in der Datenbank
  • Speichern Sie es in einer Datenbank oder einem Dateisystem
von einer Seite zu einer anderen

Vielleicht bin ich ein Missverständnis, aber nicht der Status ansicht gilt nur für die aktuelle Seite? Sie können etwas nicht im Ansichtszustand auf einer Seite speichern und von einer anderen seite wieder laden. Der MSDN-Artikel Understanding ASP.NET View State may be helpful. kann hilfreich sein.

Um Daten zwischen Seiten zu übertragen, sollten Sie sich so etwas wie Sitzungsstatus oder ASP.NET Zwischenspeicherung ansehen.

Update

Sie müssen herausfinden, was dieser Fehler ist. Deaktivieren Sie benutzerdefinierte Fehler in web.config, damit Sie den vollständigen Text sehen können (Details finden Sie unter step 3 of this article for details).).

Es ist wahrscheinlich, dass es etwas nicht stimmt, wie Sie den ASP.NET Seitenlebenszyklus verwalten. Wenn Sie nicht so vertraut damit sind, werden Ihnen entweder die this or oder this resource will help. Ressource helfen.

Ich verwende ViewState, um einige Daten zu speichern

Wenn Ihre Fehler "nichts sagen" möchten Sie vielleicht mehr ausführliche Fehler aktivieren.

Um dies zu tun, bearbeiten Sie die web.config-Datei Ihrer SharePoint-Website und nehmen Sie die beschriebenen Änderungen here

vor, damit Sie eine fundiertere Fehlerbehebung durchführen können.

Aktivieren Sessionstate in der web.config im Seitenbereich:

<pages enableSessionState="false" ...

Seien Sie jedoch vorsichtig, wenn Sie eine Multi-Machine-Farm ausführen (d. h. mehr als 1 Web-Front-End / App-Server), benötigen Sie SQL-Server-basierte Sitzungen (oder den asp.net State Service).

Ich schlage vor, dass Sie einige Lesen auf SharePoint und Sitzungsstatus BEFORE Aktivieren.

P.S. Sie können den Sitzungsstatus auch pro Seite(en) aktivieren, aber die gleiche Warnung gilt für Multi-Machine-Farmen (