2009-06-25 47 views
2

因此,我有一个带有ObjectDataSource的GridView,并且我想以编程方式设置ObjectDataSource的SelectParameters之一。ASP.NET数据源和GridView数据绑定,通过编程设置参数值

我试图

objectDataSource.SelectParameters["my_parameter"].DefaultValue = "my_value"; 
objectDataSource.DataBind(); 

,但它没有工作(包括Page_Load中和DropdownList__SelectedIndexChanged期间)。你会建议什么?

回答

2

陷阱数据源上的onselecting事件。

protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e) 
{ 
    e.InputParameters["month"] = DateTime.Now.Month; 
} 
0

没关系,我自己解决了。

在Page_Load中:

objectDataSource.Selecting += new ObjectDataSourceSelectingEventHandler(objectDataSource_Selecting); 

然后写的处理方法:

void objectDataSource_Selecting(object sender, ObjectDataSourceSelectingEventArgs e) 
{ 
    int four = 2 + 2; 
    e.InputParameters["my_parameter"] = four; 
} 

然后确保数据绑定GridView的地方

protected void dropDownList_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    gridView.DataBind(); 
}