编译错误:LinkBut​​ton中的oncommand和CommandArgument

时间:2014-11-13 17:14:06

标签: html asp.net linkbutton asprepeater asplinkbutton

我的aspx页面上的转发器中有一个LinkBut​​ton,我正在调用一个函数oncommand并通过CommandArgument传递一个参数,但它给了我编译错误。 我在这里想念的是什么?我该怎么做才能解决这个问题?

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:&#39; LoadGrid&#39;匹配委托&#39; System.Web.UI.WebControls.CommandEventHandler&#39;

1 个答案:

答案 0 :(得分:2)

必须与以下方法签名匹配。

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