J'ai remarqué que les propriétés personnalisées d'un composant WebPart que j'ai développé retournent à leurs valeurs par défaut lorsque je redémarre mon ordinateur.Les propriétés personnalisées Sharepoint Webpart obtiennent des valeurs par défaut lors du redémarrage du serveur
Est-ce un comportement normal? sont les propriétés enregistrées aussi loin que le serveur est en place, ou il y a quelques paramètres qui me manquent.
Merci.
EDIT: Code:
namespace TestWebpart
{
[ToolboxItemAttribute(false)]
[XmlRoot(Namespace = "TestWebpart")]
public class GraphWebpart : Microsoft.SharePoint.WebPartPages.WebPart
{
// Visual Studio might automatically update this path when you change the Visual Web Part project item.
private const string _ascxPath = @"~/_CONTROLTEMPLATES/Test_Graph/TestWebpart/GraphWebpartUserControl.ascx";
protected override void CreateChildControls()
{
ReloadElements();
}
protected void ReloadElements()
{
Controls.Clear();
GraphWebpartUserControl control = (GraphWebpartUserControl)Page.LoadControl(_ascxPath);
control.xmlDataUrl = XMLFileUrl;
Controls.Add(control);
}
private static string _xmlFileUrl;
[WebBrowsable(true),
Personalizable(PersonalizationScope.Shared),
DefaultValue(""),
Description("xml"),
DisplayName("xml"),
WebDisplayName("xml")]
public string XMLFileUrl
{
get { return _xmlFileUrl; }
set {
_xmlFileUrl = value;
ReloadElements();
}
}
}
}
EDIT2: Suppression statique des champs jette l'exception fluide:
Web Part Error: An error occurred while setting the value of this property: TestWebpart:XMLFileUrl - Exception has been thrown by the target of an invocation.
Hide Error Details
[WebPartPageUserException: An error occurred while setting the value of this property: Blue_Graph.GraphWebpart.GraphWebpart:XMLFileUrl - Exception has been thrown by the target of an invocation.]
at Microsoft.SharePoint.WebPartPages.BinaryWebPartDeserializer.ApplyPropertyState(Control control)
at Microsoft.SharePoint.WebPartPages.BinaryWebPartDeserializer.Deserialize()
at Microsoft.SharePoint.WebPartPages.SPWebPartManager.CreateWebPartsFromRowSetData(Boolean onlyInitializeClosedWebParts)
Ce n'est pas un comportement normal que les propriétés sont conservées dans la base de données. Un exemple de code aide toujours ... –
Eh bien, il n'y a rien de spécial à propos de mon code, voir mise à jour. – 0xFF
Une chose qui me saute aux yeux est la classe dont vous héritez. Consultez les remarques ici - http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.webpart.aspx –