连接字符串
SqlDataSource 的连接字符串可以写在 web.config 中,关于此应用,请参见 ASP.NET 中读取数据库连接字符串。
示例
web.config 中:
页面中:
GridView 的分页
可以轻松为 GridView 设置分页,AllowPaging 获得或设置是否分页,PageSize 获得或设置页大小,PageIndex 获得或设置当前页索引,PagerSettings-Mode 获得或设置分页样式……
要说明的是,虽然只需要将 AllowPaing 设置为 true 就会自动分页,但 GridView 是把 SqlDataSource 提供给它的数据拿来进行分页的,也就是说要实现分页是从数据库中取出所有的数据,然后再交给 GridView 分页,如果数据量大的话,这将是一个非常影响性能的操作,要解决此问题,就需要按需来取,即需要哪页的数据,数据源控件就只从数据库中查询那页的数据并提交给 GridView,这就需要 ObjectDataSource,如果 GridView 与 ObjectDataSource 搭配进行分页,则分页不是由 GridView 来完成的,而是由 ObjectDataSource 来完成,GridView 只向 ObjectDataSource 提供一些分页的数据,ObjectDataSource 的应用将在后面中介绍到。
增加“编辑”、“删除”功能
第一步,为 GridView 增加“主键”,为 GridView 指定 DataKeyNames="id",我们这里只指定一个字段,如果要指定多个字段,则多个字段之间用“,”隔开。
第二步,为 GridView 增加“编辑”、“删除”按钮,只需要为 GridView 指定 AutoGenerateEditButton="true" AutoGenerateDeleteButton="true"。
第三步,为 SqlDataSource 指定相应的更新、删除方法。
“编辑”、“删除”就实现了,唯一的不足就是“删除”没有提示,这个我们也将在后面解决。
SqlDataSource 的参数
SQL 中的参数(以 @ 开头)都是与 GridView 字段对应,我们可不可以指定额外一些参数,使得这些参数即使不与 GridView 字段对应也可以使用呢?答案是可以。
我们可以利用编程的方式通过 SqlDataSource 的 SelectParameters、InsertParameters、UpdateParameters、DeleteParameters 等属性来设定。
我们也可以通过声明的方式来设定,以下示例设定了一个 SelectCommand 使用的参数,该参数自动从 QueryString 中取值。