2

ASPxGridViewページに追加して、プログラムでバインドしようとして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

例外: ここに画像の説明を入力

解決策はありますか?

4

2 に答える 2

2

この問題は、IIS の安全な設定と対応するアクセス許可に関連している可能性があります。ASPxGridView は、必要に応じてキャッシュからデータ行を逆シリアル化します。ASPxGridView.EnableRowsCacheプロパティを " False " に設定して、ASPxGridView のキャッシュを無効にします。

于 2012-07-03T16:04:09.977 に答える
0

別の解決策:

  gridLookup.Columns.Add(new GridViewDataColumn("Name"));
  gridLookup.AutoGenerateColumns = false;
于 2012-07-03T20:26:11.450 に答える