webForumDet fria alternativet

problem att sortera i en GridView

0 svar · 283 visningar · startad av Vinnaren

VinnarenMedlem sedan sep. 2005833 inlägg
#1

Har följande:

        <asp:ObjectDataSource 
            ID="ProductObjectDataSource" 
            runat="server" 
            SelectMethod="GetProductToThisCategoryId" 
            TypeName="Product" 
            onselecting="ProductObjectDataSource_Selecting">
            <SelectParameters>
            
                <asp:QueryStringParameter DefaultValue="0" Name="catid" QueryStringField="c" 
                    Type="Int32" />
                                   
               <asp:QueryStringParameter Name="p" Type="Object" />
               
                <asp:QueryStringParameter DefaultValue="0" Name="camid" QueryStringField="cam" 
                    Type="Int32" />   
                                
            </SelectParameters>
        </asp:ObjectDataSource>
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["s"] != null)
                {
                    ProductObjectDataSource.SelectParameters.RemoveAt(2);
                    ProductObjectDataSource.SelectParameters.RemoveAt(0);

                    ProductObjectDataSource.SelectMethod = "GetProductBySearchText";

                }

                else if (Request.QueryString["c"] != null)
                {
                    ProductObjectDataSource.SelectParameters.RemoveAt(2);
                    ProductObjectDataSource.SelectParameters.RemoveAt(1);

                }

                else if (Request.QueryString["cam"] != null)
                {
                    ProductObjectDataSource.SelectParameters.RemoveAt(1);
                    ProductObjectDataSource.SelectParameters.RemoveAt(0);

                    int id = Convert.ToInt32(Request.QueryString["cam"]);

                    ProductObjectDataSource.SelectMethod = "GetProducById";
                }
            }
        }
        catch (Exception ex)
        {
            lblMsg.Text = ex.Message;
        }
    }

När jag sorterar i GridView när QueryStringen c inte är null så fungerar det, men när s eller cam innehåller något får jag fölajnde felmeddelande när jag försöker sortera:
ObjectDataSource 'ProductObjectDataSource' could not find a non-generic method 'GetProductToThisCategoryId' that has parameters: p.

Hur gör man så att den "kommer ihåg" vilken SelectMethod som är satt?
Annars så körs ju den som är hårdkodad in.

Hur löser jag detta???

Tacksam för all hjälp :stud

129 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)