我有一个ASP.NET项目,并想创建一个页面,我的系统管理员可以修改数据库表数据(插入、更新和删除行)。
首先,我有一个下拉列表,它是基于数据库中的表的数据绑定:
DdlTable.DataSource = from x in dc.Mapping.GetTables()
orderby x.TableName.Replace("dbo.", "")
select new {TableName = x.TableName.Replace("dbo.", "")};
DdlTable.DataTextField = "TableName";
DdlTable.DataValueField = "TableName";
DdlTable.DataBind();
DdlTable.Items.Insert(0, "Select a Table");接下来,我希望有一个根据选择绑定到表的网格视图(或其他数据对象),并动态构建列、插入、更新和删除功能。可以在不为每个特定表编码的情况下做到这一点吗?
显然,我可以创建x个网格视图和数据源,但我希望它是动态构建的,以实现灵活性和最少的编码。
本质上,我想要有一个简单的基于web的SQL管理器。
发布于 2010-07-29 01:13:50
试试..。
为每个表创建单独的数据源(无论是代码还是标记,都无关紧要)。
确保在页面加载时网格视图没有设置数据源。
在某些事件(按钮单击、下拉列表中的selectedindexchanged等)上,将网格视图的数据源设置为在下拉列表中选择的数据源,确保autogenerate = true,然后是databind()。
发布于 2010-08-14 10:18:33
简而言之-不-你改变你的表,你必须改变你的CRUD -没有灵丹妙药。
你可以尝试像CodeSmith这样的东西。或者你可以自己写点东西--应该不会太难,对吧?查询表的字段的InformationSchema视图,您就拥有了在代码隐藏中构建函数以生成CRUD语句所需的所有信息。
https://stackoverflow.com/questions/3355339
复制相似问题