2013-03-12 38 views

回答

0

如之一討論SO質疑
asp.net sqldatasource vs doing it in code behind

的asp.net頁內嵌入了您的SqlDataSource或任何數據源與數據訪問層耦合表示層導致降低的可測試性和靈活性。我強烈建議將你的數據連接移動到他們自己的類中,並創建一個數據訪問層,以便你的代碼可以在頁面後面繪製。

理想情況下,您甚至可以進一步將其分解爲N層解決方案。 Link

一些有用的鏈接
populate gridview via code-behind or markup DataSource?

+0

所以它沒有任何性能優勢? (這是我從鏈接中得出的結論) – ali 2013-03-12 13:06:36

+0

也有更多的控制和性能優勢。 :) – 2013-03-12 13:20:43

+0

什麼是性能優勢? – ali 2013-03-12 13:33:05

0

我會說你在你的控制很多的更多控制,如果你在代碼綁定背後,你可以在許多創造性的方式操縱搜索結果。如果你在你的標記中使用SelectMethodOnInit進行數據綁定。每次回發或重新加載都會將該數據恢復到您在該方法中使用的數據。這對於填充總是希望顯示相同數據的下拉菜單非常有用。如果你希望你的數據能夠響應,我會說你必須在你的代碼中使用DataBind()

我也認爲這是學習使用您的數據做更高級的事情的最佳做法。

+0

回傳是一個好點。感謝 – ali 2013-03-12 13:07:42

+0

當你編寫一個程序時,一切都不夠好。你總是希望用你的數據做更多有創意的事情。 – jackncoke 2013-03-12 13:11:27

0

我想說這取決於項目的規模和可擴展性。

如果你想要電源和控制,然後去代碼隱藏。

如果你想易於使用和速度,然後做的事情在頁面上,讓對象管理CRUD

相關問題