Nous avons un site Sharepoint qui utilise la recherche.La recherche de Sharepoint échoue lors de l'utilisation de DataKeynames
Nous obtenons l'erreur suivante:
Unable to validate data. at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData (Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo) at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
Après un peu de tests, nous avons constaté que l'erreur se produit lorsque l'on utilise DateKeyNames sur un contrôle GridView.
Vous ne savez pas pourquoi il devrait y avoir une combinaison entre Search, cette erreur et DataKeyNames.
Des idées?
Mise à jour: Voici un code
[Guid("8891224e-e830-4ffa-afbd-f789583d8d14")]
public class TestErrorGridView : System.Web.UI.WebControls.WebParts.WebPart
{
Control ascxToAdd;
public TestErrorGridView()
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
}
protected override void CreateChildControls()
{
base.CreateChildControls();
Table test = new Table();
TestBindObject t1 = new TestBindObject() { ID = 1, Name = "Test" };
List<TestBindObject> l1 = new List<TestBindObject>();
l1.Add(t1);
SPGridView testGrid = new SPGridView() { AutoGenerateColumns = false};
BoundField header = new BoundField();
header.DataField = "ID";
BoundField name = new BoundField();
name.DataField = "Name";
testGrid.Columns.Add(header);
testGrid.Columns.Add(name);
testGrid.DataSource = l1;
testGrid.DataBind();
// If you comment out this line search works
testGrid.DataKeyNames = new string[] { "ID" };
this.Controls.Add(testGrid);
base.CreateChildControls();
SPGridView testGrid = new SPGridView() { AutoGenerateColumns = false, EnableViewState=false };
testGrid.DataKeyNames = new string[] { "testid" };
this.Controls.Add(testGrid);
}
}
public class TestBindObject
{
public int ID { get; set; }
public string Name { get; set; }
}
MISE À JOUR
Cette erreur occurrs sur les machines de développement, il est donc pas realated aux touches de la machine étant différentes sur différentes machines dans un cluster.
Un des développeurs a installé MOSS, il n'obtient pas l'erreur. Les développeurs qui ont juste installé WSS ont l'erreur.
MISE À JOUR 2
ont ajouté datasource au code
Pouvez-vous envoyer le code où l'erreur se produit? –
@Kit Avoir ajouté un exemple de code –