简体   繁体   中英

Use selection property instead of 'SelectMethod' on ObjectDataSource?

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.

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

If you are trying to assign a SelectMethod dynamicaly, you could do it:

// You say that the category comes from the 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;
              }

            }
        }
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM