我正在尝试将 ASPxGridView
添加到页面并以编程方式将其绑定(bind)到 ObjectDataSource
。
这是我的代码:
protected void Page_Init(object sender, EventArgs e)
{
ObjectDataSource odsGroup = new ObjectDataSource();
var gridLookup = new ASPxGridView();
odsGroup.ID = "odsGroups";
odsGroup.SelectMethod = "GetAllElements";
odsGroup.TypeName = "Ifa.BusinessLayer.BLLClasses.GroupBll";
odsGroup.OldValuesParameterFormatString = "original_{0}";
gridLookup.ViewStateMode = ViewStateMode.Disabled;
gridLookup.ID = "groupsLookup";
gridLookup.AutoGenerateColumns = true;
gridLookup.DataSource = odsGroup;
gridLookup.KeyFieldName = "Id";
gridLookup.DataBind();
pnl1.Controls.Add(gridLookup);
}
当我使用 GridView
而不是 ASPxGridView
时,此代码工作正常,但正如我所说,它不适用于 ASPxGridView
并抛出 System.Runtime.Serialization.SerializationException
异常:
有什么解决办法吗?
最佳答案
此问题可能与IIS的安全设置及相应权限有关。 ASPxGridView 在必要时从其缓存中反序列化数据行。通过将 ASPxGridView.EnableRowsCache 属性设置为“False”来禁用 ASPxGridView 的缓存。
关于c#-4.0 - 以编程方式使用 ObjectDataSource 将 ASPxGridView 添加到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294138/