硬编码参数
我们选择了这个包含参数的方法,导航就多了一屏,在这一屏要求我们定义参数所用的值。在左边的列表中显示我们指定方法的所有参数。对于 GetProductByProductID(productID) 方法则只有一个参数: productID 。在右边的参数源下拉列表中列举出有可能被作为参数源的几类参数值。既然我们要指定一个 硬编码的值5用作productID参数 ,就让参数源选项是 None 并在 DefaultValue 输入框键入 5 。
控件属性参数
ObjectDataSource 的声明标记跟我们的第一个例子会稍有不同。使用一个 ControlParameter 替代了标准的 Parameter 对象。 ControlParameter 具有一些额外的属性用来指定 Web 控件的 ID ,还有用作参数的属性值( PropertyName )。配置数据源向导足以帮我们决定,例如 TextBox ,我们很有可能会使用它的 Text 属性作为参数值。然而, 如果你需要使用Web控件的一个不同的属性值,那么你需要在这里更改PropertyName属性,或者从配置数据源向导里点击“高级属性”。
编程参数
要编码设置这个参数值,我们需要给 ObjectDataSource 的 Selecting 事件添加一个事件委托。为了实现这一点,到设计视图里在 ObjectDataSource 上双击。另一种方式是选中 ObjectDataSource 在属性窗口里点击黄色闪电小图标,然后,直接在 Selecting 这一栏里双击或者输入一个你要使用的事件委托的名称。 两种途径都可以在页面的 代码隐藏类 里增加一个对 ObjectDataSourc e 的 Selecting 事件的事件委托。在这个事件委托里,我们可以通过使用 e.InputParameters[parameterName] 读取参数的值,其中 parameterName 的值是 <asp:Parameter> 标签里的属性 Name 的值( InputParameters 也可以按照索引访问,用 e.InputParameters[index] )。为了把 month 参数设置为当前月份,需要在 Selecting 事件委托里加入如下代码
我们选择了这个包含参数的方法,导航就多了一屏,在这一屏要求我们定义参数所用的值。在左边的列表中显示我们指定方法的所有参数。对于 GetProductByProductID(productID) 方法则只有一个参数: productID 。在右边的参数源下拉列表中列举出有可能被作为参数源的几类参数值。既然我们要指定一个 硬编码的值5用作productID参数 ,就让参数源选项是 None 并在 DefaultValue 输入框键入 5 。
控件属性参数
ObjectDataSource 的声明标记跟我们的第一个例子会稍有不同。使用一个 ControlParameter 替代了标准的 Parameter 对象。 ControlParameter 具有一些额外的属性用来指定 Web 控件的 ID ,还有用作参数的属性值( PropertyName )。配置数据源向导足以帮我们决定,例如 TextBox ,我们很有可能会使用它的 Text 属性作为参数值。然而, 如果你需要使用Web控件的一个不同的属性值,那么你需要在这里更改PropertyName属性,或者从配置数据源向导里点击“高级属性”。
编程参数
要编码设置这个参数值,我们需要给 ObjectDataSource 的 Selecting 事件添加一个事件委托。为了实现这一点,到设计视图里在 ObjectDataSource 上双击。另一种方式是选中 ObjectDataSource 在属性窗口里点击黄色闪电小图标,然后,直接在 Selecting 这一栏里双击或者输入一个你要使用的事件委托的名称。 两种途径都可以在页面的 代码隐藏类 里增加一个对 ObjectDataSourc e 的 Selecting 事件的事件委托。在这个事件委托里,我们可以通过使用 e.InputParameters[parameterName] 读取参数的值,其中 parameterName 的值是 <asp:Parameter> 标签里的属性 Name 的值( InputParameters 也可以按照索引访问,用 e.InputParameters[index] )。为了把 month 参数设置为当前月份,需要在 Selecting 事件委托里加入如下代码
protected
void
ObjectDataSource1_Selecting(
object
sender, ObjectDataSourceSelectingEventArgs e)
{
e.InputParameters["month"] = DateTime.Now.Month;
}
{
e.InputParameters["month"] = DateTime.Now.Month;
}