views:

171

answers:

2

I'm using multiple ObjectDataSources to fill ComboBox-fields in a FormView. The FormView is sort of generic, because it's appearance is different depending on it's category.

The category is defined in the url of the webpage. I'd like to create a class that filters the category out and expose several properties, that can be used to fill the ComboBox-fields.

Problem is, the default ObjectDataSource only got a property 'SelectMethod' to retrieve the data. With this class I'd like to create, it wouldn't be methods, but properties that will contain the data.

Is it someway, somehow still posible to assign a property to the 'SelectMethod' (or similar)? Is it better to use another approach?

Thanks.

A: 

Humm, if you trying to assing a SelectMethod dinamicaly you could do it:

// You say that the category comes in Url, so, in Page_Load method

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;
              }

            }
        }
    }

I think it will help you

Ewerton
+1  A: 

Maybe I'm missing something. But if you are after to assign a property as SelectMethod, you have to set it as get_{Property Name}.

Mehdi Golchin
Didn't know this trick, will have a try, thanks.
Monty