2011-03-08 45 views
-1

我有一個使用aps:GridView的應用程序。 GridView使用調用存儲過程的DataSource填充。 DataSource根據一些文本字段將參數傳遞給存儲過程。該網頁的運行速度比想要的要慢,所以我正在做一些檢查。綁定到存儲過程的網格數據被多次調用

我在加載頁面時運行了SQL Profiler,並且看到存儲過程被稱爲 兩次。我瀏覽了代碼,發現頁面加載完成事件是發生這種情況的地方。在這個事件中,我爲存儲過程設置了一個參數的值,然後在GridView上做了一個DataBind來獲取數據。在我逐步完成代碼時,我觀察了SQL Profiler。當我到了設置參數的步驟時,存儲過程還沒有被調用。當我逐步完成並得到DataBind命令時(在執行該步驟之前),SQL Profiler顯示已調用存儲過程。然後我做了DataBind,再次調用StoredProcedure。

我的問題是,我如何獲取參數集,並獲得GridView數據綁定,並且只調用一次StoredProcedure?如果我註釋掉DataBind步驟,StoredProcedure永遠不會被調用(這對我來說似乎真的很陌生......)。

你能幫助我嗎?謝謝。

+0

你可以發佈一些代碼,以便我們可以看到你在做什麼? – Chuck 2011-03-08 16:25:37

回答

1

如果您在設計中分配數據源並且在後面的代碼中執行此操作,則可能會發生這種情況。

+0

因此,使用默認值來壓縮存儲過程調用的唯一方法是取消綁定網格並在後面的代碼中手動設置GridView的數據源。 – vinayvasyani 2011-03-08 16:44:48