在ASP.NET 2.0中使用硬编码参数值的***个例子,首先添加一DetailsView控件到BasicReporting文件夹里的DeclarativeParams.aspx页面。从DetailsView控件的智能标记的下拉列表中选择< 新建数据源…>,然后选择添加一个ObjectDataSource 。
图 1: 添加一个ObjectDataSource到页面
这将自动打开ObjectDataSource控件的配置数据源导航。在***屏的导航中选择类ProductsBLL。
既然我们要显示一个特定的产品的信息,我们应该使用GetProductByProductID(productID)方法。
图 3: 选择GetProductByProductID(productID) 方法
因为我们选择了这个包含参数的方法,导航就多了一屏,在这一屏要求我们定义参数所用的值。在左边的列表中显示我们指定方法的所有参数。对于GetProductByProductID(productID)方法则只有一个参数:productID 。在右边的参数源下拉列表中列举出有可能被作为参数源的几类参数值。既然我们要指定一个硬编码的值5用作productID参数,就让参数源选项是None并在DefaultValue输入框键入5 。
完成了配置数据源向导后,ObjectDataSource控件的声明标记里就包含了一个SelectParameters集合,每一个SelectMethod属性里指定的方法的参数都对应一个Parameter对象。既然我们这个例子中的方法只要求一个参数parameterID ,那么SelectParameters集合里也就只有一个元素。SelectParameters集合可以包含任何来源于System.Web.UI.WebControls命名空间的类。因为是硬编码参数值所以使用基本的Parameter类;如果需要的话你也可以创建自定义参数类型(custom parameter types)。
- < asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
- SelectMethod="GetProductByProductID" TypeName="ProductsBLL">
- < SelectParameters>
- < asp:Parameter DefaultValue="5" Name="productID" Type="Int32" />
- < /SelectParameters>
- < /asp:ObjectDataSource>
注意:如果你在自己的电脑上跟随这些步骤声明标记,你可能会看见这里包含InsertMethod,UpdateMethod和 DeleteMethod 的参数值,比如DeleteParameters 。ObjectDataSource的选择数据源向导自动地指定了这些ProductBLL的方法从而实现插入、更新和删除,因此,除非你明确地清除它们,否则它们将包含在上面的标记里。
当访问本页面,Data Web服务器控件将调用ObjectDataSource的Select方法,这将调用类ProductsBLL的GetProductByProductID(productID),并使用“5”这个硬编码的值作为输入参数productID 。此方法将返回一个强类型的ProductDataTable对象,它包含一个数据行 - Chef Anton’s Gumbo Mix的信息(ProductID为5的产品)。
硬编码参数值: 显示Chef Anton’s Gumbo Mix的相关信息
【编辑推荐】