簡體   English   中英

防止在每次回發時選擇 LinqDataSource

[英]Prevent LinqDataSource selecting on every post-back

頁面中有一個 GridView 和一個 LinqDataSource 以及幾個按鈕,它們的操作與 GridView 及其 LinqDataSource 無關。 為什么在這些按鈕的每個回發時 LinqDataSource 的 Selecting 方法都會調用? 這是正常的嗎?。 不需要來自 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();
}

因為網格需要在每次頁面加載時填充,您可以將數據源緩存到某個變量並將其存儲在服務器端(不在視圖狀態中)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM