c#
  • html
  • asp.net
  • 2017-08-30 1 views 0 likes 
    0

    Hier ist mein Teil Shop.aspx Code:Dynamisch geben Id-Taste, senden Command Wert

     <% foreach(var item in items){ %> 
          ... 
          <asp:Button id="btnBuy" runat="server" class="btn" Text="Buy" OnClick ="btnBuy_Click" CommandArgument='<%#Eval("item.id") %>' /> 
         <% } %> 
    

    ich eine Schleife haben, wo ich einige Knöpfe zu meinen Einkäufen zu erstellen, und ich brauche, um sie zu haben id meiner Artikel

    protected void btnBuy_Click(object sender, EventArgs e) 
        { 
         int itemId = Convert.ToInt32(btnBuy.CommandArgument); 
        } 
    

    auf Klick ich brauche ID des Elements haben/Schaltfläche geklickt haben, sie in meiner Datenbank später zu speichern.

    Problem -

    Wenn ich auf Schaltfläche btnbuy.CommandArgument ist "".

    Antwort

    0

    Es ist falsch: Sie haben C# im asp-Stil geschrieben. Sie müssen eine Repeater verwenden und dann können Sie ItemCommand für jeden Klick auf die Schaltfläche verwalten.

    Aspx

    <asp:Repeater ID="myRepeater" runat="server" OnItemCommand="myRepeater_ItemCommand"> 
    <ItemTemplate> 
        <asp:Label id="myLbl" runat="server" Text='<%# ((Item)(Container.DataItem)).ProductName %>'/> 
        <asp:Button id="btnBuy" runat="server" CssClass="btn" Text="Buy" CommandName="Click" CommandArgument='<%# ((Item)(Container.DataItem)).ProductId %>' /> 
    </ItemTemplate> 
    </asp:Repeater> 
    

    C# (zB. OnLoad)

    List<Item> myCollection = ...; // get list of items 
    myRepeater.DataSource = myCollection; 
    myRepeater.DataBind(); 
    

    ...

    protected void myRepeater_ItemCommand(Object sender, RepeaterCommandEventArgs e) 
    { 
         if(e.CommandName == "Click") 
         { 
          int idRecord = Convert.ToInt32(e.CommandArgument); 
          // do something using idRecord or 
          // get sender properties: ((Button)e.CommandSource).Text 
         } 
    } 
    
    +0

    Es sieht gut aus, aber ich habe Probleme bekam, co Ich habe eine Liste: Liste Artikel und Artikel ist meine Klasse mit Parametern (ID, Name, Kategorie, usw.) und wie kann ich es in diesen Code einfügen? –

    +0

    Ich habe meinen vorherigen Post bearbeitet. – Emanuele

    +0

    Ich habe einen Fehler "Der Typ oder Namespace Name 'Artikel' konnte nicht gefunden werden" –

    Verwandte Themen