2014-11-13 9 views
1

У меня есть LinkButton в ретрансляторе на моей странице aspx, и я вызываю функцию oncommand и передаю параметр через CommandArgument, но он дает мне ошибку компиляции. что мне здесь не хватает ??? что я должен сделать, чтобы исправить эту проблему?ошибка компиляции: oncommand и CommandArgument в LinkButton

код ASPX:

<asp:Repeater id="rptProduct" runat="server"> 
      <HeaderTemplate> 
       <table border="0" width="100%"> 
        <tr style="background-color:blue"> 
         <th align="center"><asp:Label ID="lblProduct" ForeColor="White" runat="server" Text="PRODUCT CATAGORIES"></asp:Label></th> 
        </tr> 
        <tr></tr> 
        <tr></tr> 
        <tr></tr> 
        <tr></tr> 
      </HeaderTemplate> 

      <ItemTemplate> 

        <tr style="background-color:cadetblue"> 
         <td align="center"><asp:LinkButton ID="lbType" ForeColor="White" Font-Underline="false" 
         OnCommand="LoadGrid" CommandArgument='<%# Eval("ItemTypeNumber") %>' 
         Font-Bold="true" runat="server" Text='<%# Eval("ItemTypeDescription").ToString() %>'></asp:LinkButton></td> 
        </tr> 
      </ItemTemplate> 

      <%--<SeparatorTemplate> 
        <tr> 
         <td colspan="6"><hr></td> 
        </tr> 
      </SeparatorTemplate>--%> 

      <FooterTemplate> 
       </table> 
      </FooterTemplate> 
     </asp:Repeater> 

aspx.cs Страница:

protected void LoadGrid(int typeno) 
    { 
     DataSet ds = new DataSet(); 
     ds = new UsersBLL().GetItemDetails(typeno); 
     gvDetails.DataSource = ds; 
     gvDetails.DataBind(); 
    } 

Ошибка: Компилятор Сообщение об ошибке: CS0123: Нет перегрузки для спичек делегата «System.Web 'LoadGrid'. UI.WebControls.CommandEventHandler '

ответ

2

Он должен соответствовать следующей сигнатуре метода.

protected void LoadGrid(object sender, CommandEventArgs e) 
{ 
    // e.CommandArgument -- this will get you typeno 
} 
+0

, но я должен отправить целочисленное значение, которое является параметром для моей сохраненной работы. –

+0

@ Umm-e-Habiba, вам нужно ввести тип 'commandarg..' в значение int, например this:' int.Parse (e.CommandArgument.ToString()) ' –

+1

Ошибка: 'System.EventArgs' не содержит определение «CommandArgument» и метод расширения «CommandArgument», принимающий первый аргумент типа «System.EventArgs», могут быть найдены (вам не хватает директивы использования или ссылки на сборку?) –