【问题标题】:ASP.NET DataSource & GridView databinding, setting a parameter value programmaticallyASP.NET DataSource & GridView 数据绑定,以编程方式设置参数值
【发布时间】:2009-06-25 14:13:15
【问题描述】:
所以,我有一个带有 ObjectDataSource 的 GridView,我想以编程方式设置 ObjectDataSource 的 SelectParameters 之一。
我尝试过(在 Page_Load 和 DropdownList__SelectedIndexChanged 期间)
objectDataSource.SelectParameters["my_parameter"].DefaultValue = "my_value";
objectDataSource.DataBind();
但它没有工作。你有什么建议?
【问题讨论】:
标签:
asp.net
data-binding
objectdatasource
【解决方案1】:
在数据源上捕获 onselecting 事件。
protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.InputParameters["month"] = DateTime.Now.Month;
}
【解决方案2】:
没关系,我自己解决了。
在 Page_Load 中:
objectDataSource.Selecting += new ObjectDataSourceSelectingEventHandler(objectDataSource_Selecting);
然后编写handler方法:
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();
}