我是初学者。我发现这里很难理解一个概念。
有人告诉我,我不应该在 UI 级别使用 DataTable。
请帮助我理解这个概念。
解决方案:
MyApp.Data
MyApp.Logic
MyApp.Web
MyApp.Web 引用 MyApp.Logic,MyApp.Logic 引用 MyApp.Data。
在我的应用程序中,我要做的只是通过从下拉列表中选择的表名绑定一个网格视图。但是,有数百张桌子。这里的目的只是向用户显示数据(通过分页)。
所以项目 MyApp.Data 上的“Get_Data”类有一个功能:
public static DataTable Get_DataTable_By_Name(string Table_Name)
{
//Check and santize the table name for possible SQL injection attack.
//SELECT FROM DATABASE TABLE.
return DataTable;
}
从 MyApp.Logic,我只是将数据表从 MyApp.Data 层传递到 MyApp.Web。然后gridview被绑定,一切都在这里工作。
那么我在这里做错了什么?在 UI 级别拥有数据表真的很糟糕吗?为什么它是一个糟糕的设计?