ページにはGridViewとLinqDataSourceがあり、そのアクションはGridViewとそのLinqDataSourceに関連しないボタンはほとんどありません。これらのボタンの各ポストバックでなぜLinqDataSourceのSelectingメソッドが呼び出されるのでしょうか?これは正常ですか? LinqDataSourceからのこれらの不要なdbコールは必要ありません。ポストバックごとにLinqDataSourceを選択しないようにする
もっと良い方法がありますか?
ページにはGridViewとLinqDataSourceがあり、そのアクションはGridViewとそのLinqDataSourceに関連しないボタンはほとんどありません。これらのボタンの各ポストバックでなぜLinqDataSourceのSelectingメソッドが呼び出されるのでしょうか?これは正常ですか? LinqDataSourceからのこれらの不要なdbコールは必要ありません。ポストバックごとにLinqDataSourceを選択しないようにする
もっと良い方法がありますか?
あなたは、データソースからのGridViewを切り離す必要があります。私はこのようなデータソースを添付していると仮定します。この場合、このようにしないでください。
<asp:LinqDataSource
runat="server"
ContextTypeName="AdventureWorksDataContext"
TableName="Contacts"
ID="LinqDataSource1">
</asp:LinqDataSource>
<asp:GridView
ID="GridView1"
runat="server"
DataSourceID="LinqDataSource1" >
</asp:GridView>
必要に応じてコード内にデータソースを添付する方がよい場合があります。
if (dataSourceNeeded == true) {
GridView1.DataSource = GetDataSource();
GridView1.DataBind();
}
それはグリッドがすべてのページの負荷に人口に必要があるため、あなたには、いくつかの変数にdatasorceをキャッシュして(ないビューステートでの)サーバー側でそれを保存することができる
セッションオブジェクトは問題ありません。ありがとう。 – JanBorup
はい、いい考えです。私もちょっとしたキャッシュを使っています。 – Babak
ええ、私はその点の周りに不思議に思っていた、あなたは私の頭を逆さまにボロップして、適切な私を指摘した。 – Merritt
残念ながら、私の選択はLinqDataSourceに関連しているように見えますが、RadGridを使ってこのメソッドでデータをフックし、データをエクスポートすると、明らかに2xと呼ばれています。 – Merritt