問題タブ [entitydatasource]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - GridViewでページングを使用するとEntityDataSourceが空になります
私はこれに対する答えを見つけようとして周りを検索しましたが、今のところ解決策を見つけていません。EntityDataSource
GridView(C#)でを使用しようとしています。Page_Load
ユーザーにドロップダウンリストからいくつかの情報を選択してもらいたいので、GridViewは最初は表示されません。ユーザーがいくつかの選択を行ってボタンを押すと、EDSのconnectionstringプロパティを変更して、ユーザー固有にします。これはすべて正常に機能し、GridViewにデータが入力されます。
次に、正常に機能する2ページ目に移動してみます。問題は、3ページ目に移動しようとしたときです(これは任意です... 4から始めて6に移動しようとすると...問題ありません)。この時点で、デバッグを監視し、EntityDataSource
が空(TotalRowCount = 0)であることを確認しました。私は本当にこれをnon-EntityDataSource
方法を使ってやり直したくありませんが、他に選択肢がないので、やり直します。
私もPageIndexChanging
発砲していて、新しいインデックスを適切に設定しようとしているので、それが問題の原因ではないようです...どのようにの状態を失っているのかわかりませんEntityDataSource
。
コードの一部は次のとおりです。
私はここで何が間違っているのですか?EDSがどのように空になるのか、またはその状態をどのように維持する必要があるのかわかりません。
asp.net - Entity Framework 5 + EntityDataSource + ASP.NET + .NET 4.0 の CLR タイプが見つかりませんでした
Entity Framework 5.0 を使用して ORM を作成しました。ORM への参照を ASP.NET アプリケーションに追加しました。EntityDataSource を使用して DropDownList を作成しようとしています。問題なく EntityDataSource を構成できました。ただし、ウィザードを使用して DropDownBox の値とテキストのデータ フィールドを設定できませんでした。(データ ソース構成ウィザードで) [スキーマの参照] ボタンをクリックすると、次のエラーが表示されます。 EntityDataSource からの次のエラーが原因で判別できません: " の CLR タイプが見つかりませんでした"
entity-framework - 部分クラスで ToString をオーバーライドする場合のエンティティ関連付けへの Null 参照 - EntityDataSource.Include が無視される
私は Entity Framework に Dynamic Data を使用していますが、残念ながら .NET 3.5 に固執しているため、これは EF1 であり、現時点ではこれを変更することはできません。
だから私の問題はこれです.table1の部分クラスでToStringメソッドをオーバーライドするときに取得するnull参照に対処するために、いくつかの方法でEntityDataSource.Includeプロパティを追加しようとしました。EntityDataSource 宣言のマークアップにインクルードを設定しようとしEntityDataSource.Include = "table2.table3"
ましたが、EntityDataSource.Selecting
イベントに設定することもできませんでした。
ご覧のとおり、アソシエーションのアソシエーションにインクルードを追加する必要があります。table2のオーバーライドToStringメソッドで「table3.name + table2.Date」を表示し、table1の編集モード時に関連参照のドロップダウンリストに反映させたい。
DetailsDataSource で問題が発生している理由は何であれ、Include は GridDataSource で問題なく機能します。
c# - MaterializedDataRecord をエンティティに変換する、または EntityDataSource がエンティティを壊す理由
EntityDataSource を使用しています。「Select」プロパティを空白のままにすると、すべてがうまく機能します.SomeWebControl_DataBindingでは、GridRowのDataItemをエンティティに完全に変換できます(USERSと呼びましょう)。
ただし、テーブルの最初の 1000 行のみを表示する必要があるため、EntityDataSource の "Select" プロパティを入力し、それを "TOP(1000) |エンティティ内のすべてのフィールドのリスト|" に設定します。でもそれをしたらすぐに
惨めに失敗し、MaterializedDataRecord から USERS に変換できないことがわかりました。
私がやったことはこれです:
おそらく (DbDataRecord) の代わりに (MaterializedDataRecord) を使用できますが、同僚を怖がらせたくありませんでした。さて、これは機能しますが、見苦しく、EntityFramework を使用することの美しさを台無しにしています。また、これは非常に基本的な例です。将来、他の多くのフィールドをボックス化/ボックス化解除する必要がある同様の状況に直面する可能性がありますが、これは見栄えがよくありません。
だから私の質問は、MaterializedDataRecord をエンティティに簡単に変換する方法や、EntityDataSource を設定して、エンティティの代わりに MaterializedDataRecord を作成する「脅威」として「選択」に何かが存在することを考慮しない方法はありますか?
エンティティのフィールドのサブセットを選択している場合はその動作を理解できるということですが、ここではすべてのフィールドを選択しているため、EntityDataSource を変換しても問題はありません。
ありがとう!
asp.net - EntityDataSource クエリを 2 回実行します
EntityDataSource からページ化された ASP.NET ListView にデータをバインドするページがあります。クエリは実際にはかなり複雑なクエリであり、EDS が実際に適しているかどうかはわかりませんが、これは継承されたコードであり、ページを完全に再設計することなくこの問題を解決したいと考えています。
問題は、フィルター パラメーターを使用してページがポストバックされると、クエリがフィルターなしで 1 回実行され、フィルターを使用してもう一度実行されることです。問題は、フィルター処理されていない結果セットが 1,700 万件以上のレコードであり、要求がタイムアウトになることです。
だから私の質問は...
- クエリが 2 回実行されるのはなぜですか? ListView の DataPager と関係があるのではないかと思いましたが、ページから削除しても何も変わりませんでした。
更新:2013/04/16
@bUKaneer と @lthibodeaux に感謝します。リクエスト情報をOPに追加すると役立つと思いました。
提案どおり、Pager コントロールとリスト ビューをコメント アウトしました。それらを削除すると、データベースへのすべてのリクエストが停止しました。ListView だけを追加し直したところ、クエリが再び 2 回実行されました。
EDS 自体に割り当てられる追加のイベント ハンドラはありません。
DataPager は、実際には ListView の外側に含まれる別の UserControl に埋め込まれており、2 回含まれています ...
EDS が触れられているコード ビハインドの唯一の場所は、PreRender フェーズです...
asp.net - 詳細ビュー内のドロップダウン リスト フィルター
詳細ビューの挿入項目テンプレート ビュー内にドロップ ダウン リスト(非常に長く、100 項目以上) があります。このリストをフィルタリングできるように、テキスト ボックスとボタン (検索機能) を追加したいのですが、次のエラーが発生します。
Eval()、XPath()、および Bind() などのデータバインディング メソッドは、データバインドされたコントロールのコンテキストでのみ使用できます。
2 つのエンティティ データソースを作成しました。1 つは where 句を使用し、もう 1 つは使用しません。検索を実行すると、コード ビハインド (ボタン クリック イベント) がデータソースを where 句とパラメーターを持つデータソースに切り替えますが、上記のエラーが発生します。これを行う方法に関するアドバイスはありますか?
編集済みaa.DataSource を文字列から EmpPersonalInfoLOV1 (データソースの名前) に変更します
編集#2 ユーザーから要求された詳細情報..
データソース # 1 コード
データソース # 2 コード