为什么要使用ObjectDataSource控件?

O.O*_*O.O 3 c# architecture asp.net

我的应用程序分为三层(演示,业务和数据访问).我的应用程序中的大多数页面都是这样的:

[表示层]

    public override void FillData()
    {
        grid.DataSource = AnimalBll.FindAnimal(
            SessionHelper.GetLoginInfo(base.sessionId).First().Id);
        grid.DataBind();
    }
Run Code Online (Sandbox Code Playgroud)

[业务层]

    public static DataTable FindAnimal(int id)
    {
        var result = DBHelper.GetDataTableFromSP("FindAnimal", id);
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

如您所见,我直接绑定到网格.那么,为什么我会使用ObjectDataSource?

And*_*are 5

你不应该 - 他们永远不应该用于严肃的应用程序.该ObjectDataSource控件不鼓励在您的应用程序中分离关注点.由于您已经正确地对应用程序的不同层进行了分区,ObjectDataSource因此只会导致问题和跨层职责.