2015-05-26 15 views
5

Próbuję przekazać parametr do funkcji onClick wystąpienia asp:Buttonpodał parametr do funkcji z ASP: Przycisk

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

parametr jest <%=product.ProductId %>.

Nie mogę używać CommandArguments, ponieważ wartość jest przekazywana jak zwykły tekst.

Próbowałem z ukrytymi danymi wejściowymi, ale nie udało się.

Próbowałem też za pomocą formularza skargi:

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

ale nie wysyła wartość do funkcji. Czy ktoś może mi pomóc rozwiązać ten problem?

Odpowiedz

7

w aspx

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

w kodzie za

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 dziękuję za poświęcony czas. ale nadal nie działa, CommandArgument jest pusty: "". –

+1

jeśli identyfikator produktu jest w int, a następnie przeanalizuj go. int.parse (btn.CommandArgument.ToString()) jeśli nadal nie działa spróbuj tego spróbuj również tego <% = Eval ("product.ProductId")%> –

Powiązane problemy