簡體   English   中英

為什么要使用ObjectDataSource控件?

[英]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.

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