将DataTable作为ObjectDataSource的SelectParameters传递

时间:2012-08-20 08:31:44

标签: c# asp.net objectdatasource

是否有任何过程将DataTable作为SelectParameter传递给ObjectDataSource。

我希望实现这一点,因为数据控件(listview)的数据源每次都会更改,具体取决于下拉列表中选定的值或文本框中发生的文本更改事件。

我正在以编程方式将ObjectDataSource绑定到DataControl。 喜欢

DataTable dt=new DataTable();
dt=BL.getSelectedValues(ddlFoo.SelectedItem.Value);
ods.SelectParameters.Add("dataTable",dt);

任何替代建议也都有用。

1 个答案:

答案 0 :(得分:3)

您可以将ObjectDataSource配置为Business对象。

public class TestSource
{
   public DataTable GetTestSource()
    {
      .....
      return dataTableObject;
     }
}

和标记,

 <asp:ObjectDataSource ID="ObjectDataSource1" 
                       runat="server"
                       SelectMethod="GetTestSource" 
                       TypeName="TestSource">
 </asp:ObjectDataSource>

或动态填充ObjectDataSource,

ObjectDataSource ds = new ObjectDataSource();
ds.TypeName = "TestSource";
ds.SelectMethod = "GetTestSource";
GridView1.DataSource = ds;
GridView1.DataBind();