[英]Why use ObjectDataSource control?
我的應用程序分為三層(演示,業務和數據訪問)。 我的應用程序中的大多數頁面都是這樣的:
[表示層]
public override void FillData()
{
grid.DataSource = AnimalBll.FindAnimal(
SessionHelper.GetLoginInfo(base.sessionId).First().Id);
grid.DataBind();
}
[業務層]
public static DataTable FindAnimal(int id)
{
var result = DBHelper.GetDataTableFromSP("FindAnimal", id);
return result;
}
如您所見,我直接綁定到網格。 那么,為什么我會使用ObjectDataSource?
你不應該 - 他們永遠不應該用於嚴肅的應用程序。 ObjectDataSource
控件不鼓勵在應用程序中分離關注點。 由於您已經正確地對應用程序的不同層進行了分區,因此ObjectDataSource
只會導致問題和跨層職責。
使用ODS的好處是它允許您自動更新和保存實體。 根據你現在的方式,你必須捕獲適當的事件(row_saving?),然后去掉新的值,並將它們傳遞給你的ORM進行保存。
安德魯是對的,但ObjectDataSource幾乎從不運作,你應該不惜一切代價避免它。
對於基本的網格類型更新,我有幸使用LinqDataSource或EntityDataSource(假設你使用的是L2S或EF),但同樣,對於大型應用程序,你會想要遠離這樣的事情(分離關注點和所有這些)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.