2015-05-26 11 views
5

Sto cercando di passare un parametro in una funzione onClick di un asp:Buttonparametro passaggio in una funzione con asp: Button

<asp:Button name='ProductID' onclick="confirm_product_Click" ID="confirmitem" runat="server" Text="accept"> 

il parametro è <%=product.ProductId %>.

Non posso usare CommandArguments perché il valore viene passato come testo normale.

Ho provato con input nascosto ma non è riuscito.

Ho anche provato ad utilizzare un'azione forma:

<form method="post" action="?ProductID=<%=product.ProductId %>"> 
<asp:Button name='ProductID' onclick="confirm_product_Click" ID="confirmitem" runat="server" Text="accept"> 
</form> 

ma non invia il valore alla funzione. Qualcuno può aiutarmi a risolvere questo problema?

risposta

7

nel aspx

<asp:Button ID="test" runat="server" CommandArgument='<%#Eval("product.ProductId")%>' CommandName="ThisBtnClick" OnClick="MyBtnHandler" /> 

in codice dietro

void MyBtnHandler(Object sender, EventArgs e) 
{ 
    Button btn = (Button)sender; 
      switch (btn.CommandName) 
      { 
       case "ThisBtnClick": 
        DoWhatever(btn.CommandArgument.ToString()); 
        break; 
       case "ThatBtnClick": 
        DoSomethingElse(btn.CommandArgument.ToString()); 
        break; 
      } 
} 
+0

Zohaib vi ringrazio per il vostro tempo. ma ancora non funziona, il CommandArgument è vuoto: "". –

+1

se ID prodotto è int, quindi analizzarlo .. int.parse (btn.CommandArgument.ToString()) se non funziona ancora provare questo anche provare questo <% = Eval ("product.ProductId")%> –

Problemi correlati