在ObjectDataSource上使用selection属性而不是'SelectMethod'?

时间:2010-02-04 10:20:08

标签: c# asp.net objectdatasource

我正在使用多个ObjectDataSource来填充FormView中的ComboBox字段。 FormView有点通用,因为它的外观因其类别而异。

该类别在网页的网址中定义。我想创建一个类来过滤类别并公开几个属性,可以用来填充ComboBox字段。

问题是,默认的ObjectDataSource只有一个属性'SelectMethod'来检索数据。我希望创建这个类,它不是方法,而是包含数据的属性。

是不是在某种程度上,仍然可以将属性分配给'SelectMethod'(或类似的)?使用其他方法更好吗?

感谢。

2 个答案:

答案 0 :(得分:8)

也许我错过了什么。但是,如果您要将属性指定为SelectMethod,则必须将其设置为get_{Property Name}

答案 1 :(得分:0)

如果您尝试动态分配SelectMethod,则可以执行此操作:

//您说该类别来自Url,因此,在Page_Load方法

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            // Get your QueryString variable
            if (Request["YourVariable"] != null)
            {
             string yourVariable = Request["YourVariable"].ToString();

              if (yourVariable == "CategoryX") {

                   ObjectDataSource1.SelectMethod = "SelectMethodFromCategoryX";

                   // and if you need to set SelectParameters to your ObjectDataSource
                   ObjectDataSource1.SelectParameters["pYourParameterNameForCategoryX"].DefaultValue = this.txtTest.Text;
              }

            }
        }
    }