我想将SqlDataSource绑定到GridView以查看和编辑数据库记录。
没什么大不了的(我想)。
然而,
之间似乎存在很大的概念差异第一个,我可以通过声明一个额外的编辑按钮立即获得编辑功能,第二个,我根本无法将更新的值输入到数据库中。
这两者之间有什么区别,真的吗?
注意:我对代码作为答案并不是很感兴趣,而是更多关于差异的解释或手册。
答案 0 :(得分:1)
GridView1.DataSourceID需要Datasource对象的id,通常是在页面上放置的SqlDataSource之类的数据源控件。
使用页面设计器时,您可以"连接"使用gridview上下文菜单将数据源添加到gridview。
或者可以通过编程方式设置,例如在Page_Load:
中 GridView1.DataSourceID = SqlDataSource1.ID
Gridview支持许多数据源控件,您不仅限于SqlDataSource。
主要区别与绑定和页面生命周期有关。
当您指定GridView1.DataSourceID
并假设控件可见时,数据绑定将在页面生命周期的Databind事件期间自动神奇地发生。
如果指定GridView1.DataSource
数据绑定成为程序员的义务。在明确调用GridView1.DataBind()
如果使用SqlDataSource,则会有一个名为CancelSelectOnNullParameter
的漂亮小属性。这应该是不言自明的,它默认为TRUE。只是要注意一些事情,因为它在我早期引起了很多挫折。