1

EntityDataSource(コードビハインド)を使用してGridViewにデータを入力しようとしていますが、GridViewをソートできる必要があります。ただし、並べ替えるとエラーが発生します: 「 aspnet_Users.UserId1 」という名前のプロパティがエンティティ型のメタデータに存在しません

ActiveEnqDataSource.WhereParameters.Add(new SessionParameter("aspnet_Users.UserId", TypeCode.Object, "UserName"));

完全なコードは次のとおりです。

ActiveEnqDataSource.ConnectionString = db.Connection.ConnectionString;
             ActiveEnqDataSource.DefaultContainerName = "Entities";
             ActiveEnqDataSource.EntitySetName = "Enquiries";
             ActiveEnqDataSource.Include = "UserCars.CarModel.CarMake, Category, aspnet_Users";

             ActiveEnqDataSource.EnableUpdate = true;
             ActiveEnqDataSource.EnableInsert = true;
             ActiveEnqDataSource.EnableDelete = true;
             ActiveEnqDataSource.AutoGenerateWhereClause = true;


             ActiveEnqDataSource.WhereParameters.Add(new SessionParameter("aspnet_Users.UserId", TypeCode.Object, "UserName"));

助言がありますか?どうもありがとうございました!グリッドビュー自体は完全にレンダリングされますが、並べ替えることができないものだけが追加され、プロパティに 1 を追加します (例: UserId1、EnquiryStatus1、ProductName1)。等...

4

2 に答える 2

1

ページがポストバックされるたびに where 句を追加していたため、同様のエラーが発生しました。IsPostback ステートメント内で where 句を生成したコードを削除すると、問題が修正されました。

if (!IsPostBack) {
    // code to add where parameters
}
于 2013-02-07T01:31:58.827 に答える
0

マークアップを使用して Where パラメーターを定義し、コードに同じパラメーターを追加すると、同じエラーが発生しました。途中で、パラメーター名の末尾に 1 が追加されました。

于 2011-10-09T23:04:21.727 に答える