gpt4 book ai didi

SharePoint 2007 (wss) 搜索和无法验证数据异常

转载 作者:行者123 更新时间:2023-12-03 01:28:03 26 4
gpt4 key购买 nike

SharePoint 的搜索框存在问题。每当我们尝试搜索某些内容时,我们都会得到:

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) exeption.

有谁知道此异常的原因或解决方法吗?

新条目:

我正在使用 SPGridView,在 Web 部件中使用 datakeys 属性。 Web 部件可以工作,但我们发现使用 datakeys 属性会破坏搜索,因为如果您尝试使用搜索文本框并单击搜索按钮,则会出现以下异常:

无法验证数据。在System.Web.Configuration.MachineKeySection.EncryptOrDecryptData( bool fEncrypt,Byte [] buf,Byte []修饰符,Int32开始,Int32长度,IVType ivType, bool useValidationSymAlgo) 在 System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)

这就是我尝试做的:

使 gridview 不是 spgridview 并设置 autogenerate true (有效)删除数据键名称(有效)使用空 gridvew 进行测试(失败)使用非空 gridview 进行测试(失败)更改机器 key (失败)关闭 gridvew 上的 View 状态(失败)将 gridview 移动到 ascx 文件(失败)

我似乎无法弄清楚这一点。有人遇到过这个错误并能够解决它吗?

编辑2009年9月10日

这是我测试的最后一个代码。我使用了 MSDN 示例作为引用。我也尝试过没有数据表 MSDN Example

public class TestErrorGridView : System.Web.UI.WebControls.WebParts.WebPart
{
Control ascxToAdd;
protected DataTable PropertyCollection = new DataTable();
private DataColumn key;
public TestErrorGridView()
{
key = PropertyCollection.Columns.Add("ID", typeof(string));
PropertyCollection.Columns.Add("Name", typeof(string));
}
public void AddProperty(TestBindObject data)
{
DataRow newRow = PropertyCollection.Rows.Add();

newRow["ID "] = data.ID;
newRow["Name"] = data.Name;
}
public void BindGrid(SPGridView grid)
{
SPBoundField fldPropertyName = new SPBoundField();
fldPropertyName.HeaderText = "ID";
fldPropertyName.DataField = "ID";
grid.Columns.Add(fldPropertyName);
SPBoundField fldPropertyValue = new SPBoundField();
fldPropertyValue.HeaderText = "Name";
fldPropertyValue.DataField = "Name";
grid.Columns.Add(fldPropertyValue);

PropertyCollection.PrimaryKey = new DataColumn[] { key };
grid.DataSource = PropertyCollection.DefaultView;
grid.DataKeyNames = new string[] { key.ColumnName };
grid.DataBind();
}

protected override void OnInit(EventArgs e)
{
base.OnInit(e);

}

protected override void CreateChildControls()
{
base.CreateChildControls();
TestBindObject t1 = new TestBindObject() { ID = 1, Name = "Test3" };
this.AddProperty(t1);

SPGridView testGrid = new SPGridView() { AutoGenerateColumns = false };

this.BindGrid(testGrid);


this.Controls.Add(testGrid);

}


}

[Serializable]
public class TestBindObject
{
public int ID { get; set; }
public string Name { get; set; }
}

最佳答案

从错误消息中我可以看出您正在网络场环境中操作。您是否在每个 SharePoint web.config 文件中设置了相同的 machineKey?请参阅this link了解更多信息。

关于SharePoint 2007 (wss) 搜索和无法验证数据异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com