我的aspx页面上的转发器中有一个LinkButton,我正在调用一个函数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;
答案 0 :(得分:2)
必须与以下方法签名匹配。
protected void LoadGrid(object sender, CommandEventArgs e)
{
// e.CommandArgument -- this will get you typeno
}