通过本文主要向大家介绍了objectdatasource,asp:objectdatasource,objectdatasource控件,任意球动态图,静香任意门动态图等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
ObjectDataSource在使用时需要事先指定查询方法SelectMethod(其实还有InsertMethod,UpdateMethod和DeleteMethod),TypeName和DataObjectTypeName,然后我们只需要编写好SelectMethod方法的实现,如果需要分页,那么还要指定MaximumRwosParameterName属性和StartRowIndexParameterName,然后在SelectMethod方法中加上相应的参数,当然,SelectCountMethod属性也是要指定的,并且参数签名必须和SelectMethod方法的参数签名相同。这些我在前面那篇文章中都有详细的介绍。这里我想说一下如何动态指定ObjectDataSource对象的查询参数,例如我们使用ObjectDataSource对象来绑定ListView数据源,一般查询参数都是事先通过SelectParameter确定好并传入给ObjectDataSource的,如果我们想实现根据用户选择的条件进行查询,在页面回传的时候将查询条件传递给ObectDataSource对象,并且允许随意指定查询参数的数据类型,怎么实现呢?
其实ObjectDataSource参数是可以指定查询参数的,它有很多种不同类型的查询参数,如ControlParameter,CookieParameter,FormParameter,ProfileParameter,QueryStringParameter,SessionParameter等。由于不能在ObjectDataSource的SelectMethod方法中引入页面元素,如文本框的值,下拉列表的值,这是因为ObjectDataSource在初始化并指定SelectMethod方法时页面上的其它元素还没有完成初始化,此时引用页面上的这些元素将会引发空引用的异常。正确的方法是通过ObjectDataSource的查询参数来解决此类问题,如我们可以使用QueryStringParameter通过页面的url来传递参数,还可以使用CookieParameter通过客户端的Cookie传递参数,使用SessionParameter通过服务端的Session来传递参数。不过这些参数都有问题,QueryStringParameter只能传递字符串类型的参数,复杂类型的参数很难实现;CookieParameter收到客户端Cookie的限制,也不太理想;SessionParameter有些夸张,我不能因为用户想完成一次简单的查询操作就在服务器上存放一大堆Session吧?
看来使用ControlParameter是比较理想的,毕竟用户都是通过页面上的控件来指定查询条件的,而程序也正是通过页面上的控件才得到用户所指定的查询条件的,这个是比较符合逻辑的。下面我们就来看看如何通过ControlParameter来实现ObjectDataSource的查询参数动态指定。
是不是很简单啊?其实ObjectDataSource控件的功能还是很强大的,以后绑定页面数据,尤其是带有分页效果时建议多用ObjectDataSource控件,它可以节省很多的开发时间。 </div>
其实ObjectDataSource参数是可以指定查询参数的,它有很多种不同类型的查询参数,如ControlParameter,CookieParameter,FormParameter,ProfileParameter,QueryStringParameter,SessionParameter等。由于不能在ObjectDataSource的SelectMethod方法中引入页面元素,如文本框的值,下拉列表的值,这是因为ObjectDataSource在初始化并指定SelectMethod方法时页面上的其它元素还没有完成初始化,此时引用页面上的这些元素将会引发空引用的异常。正确的方法是通过ObjectDataSource的查询参数来解决此类问题,如我们可以使用QueryStringParameter通过页面的url来传递参数,还可以使用CookieParameter通过客户端的Cookie传递参数,使用SessionParameter通过服务端的Session来传递参数。不过这些参数都有问题,QueryStringParameter只能传递字符串类型的参数,复杂类型的参数很难实现;CookieParameter收到客户端Cookie的限制,也不太理想;SessionParameter有些夸张,我不能因为用户想完成一次简单的查询操作就在服务器上存放一大堆Session吧?
看来使用ControlParameter是比较理想的,毕竟用户都是通过页面上的控件来指定查询条件的,而程序也正是通过页面上的控件才得到用户所指定的查询条件的,这个是比较符合逻辑的。下面我们就来看看如何通过ControlParameter来实现ObjectDataSource的查询参数动态指定。
是不是很简单啊?其实ObjectDataSource控件的功能还是很强大的,以后绑定页面数据,尤其是带有分页效果时建议多用ObjectDataSource控件,它可以节省很多的开发时间。 </div>