如何在一个RadListBox的ItemTemplate中识别LinkBut​​ton的CommandName

时间:2011-05-15 20:34:57

标签: asp.net telerik itemtemplate radlistbox

我在我的radlistbox中添加了一个itemtemplate,并在其中添加了一个标签和两个linkbutton ... ... 我的radlistbox如下所示:

<telerik:RadListBox ID="RadlbOfImageGroup" runat="server" DataKeyField="ID" DataSortField="Title"
    DataSourceID="sdsImagesGroup" DataTextField="Title" DataValueField="ID" Skin="BlackByMe"
    EnableEmbeddedSkins="False" Width="260px" Height="365px" EmptyMessage="no rec!"
    AutoPostBack="True" OnSelectedIndexChanged="RadlbOfImageGroup_SelectedIndexChanged"
    CausesValidation="False">
    <ItemTemplate>
        <table style="width: 100%;">
            <tr style="width: 100%;">
                <td style="width: 64%;">
                    <asp:Label ID="lblTitleOfIG" runat="server" CssClass="lbl_ListBox_IG_Title" Text='<%# Eval("Title") %>'></asp:Label>
                </td>
                <td style="width: 18%; text-align: center;">
                    <asp:LinkButton ID="lbEditIG" runat="server" CausesValidation="False" CommandName="Edit"
                        CssClass="lb_ListBox_IG" OnClick="lbEditIG_Click">Edit</asp:LinkButton>
                </td>
                <td style="width: 18%; text-align: center;">
                    <asp:LinkButton ID="lbDeleteIG" runat="server" CausesValidation="False" CommandName="Delete"
                        CssClass="lb_ListBox_IG" OnClick="lbDeleteIG_Click">Delete</asp:LinkButton>
                </td>
            </tr>
        </table>
    </ItemTemplate>
</telerik:RadListBox>

我的问题是当我点击它们时如何检查上面代码中的LinkBut​​tons的CommandName? (我们无法访问CodeBehind中的这些LinkBut​​tons)

我知道我们不需要CommandName用于那些LinkBut​​tons /我只是想知道是否可以从代码隐藏中读取它们?

2 个答案:

答案 0 :(得分:1)

我不确定这是否是解决此问题的标准方法,但它是我使用的:

For Each item In RadlbOfImageGroup.Items
    Dim editbutton As HtmlGenericControl = item.findcontrol("lbEditIG")
    //Do something with editbutton.CommandName
    Dim deletebutton As HtmlGenericControl = item.findcontrol("lbDeleteIG")
    //Do something with deletebutton.CommandName
Next 

上面的例子是在VB.Net中,但如果你正在使用的话,它应该很容易转换为C#。

答案 1 :(得分:1)

这里是telerik团队引入的代码:

protected void lbDeleteIG_Click(object sender, EventArgs e)
   {
       LinkButton btn = sender as LinkButton;
       if (btn.CommandName=="Delete")
       {
           Response.Write("Deleted");
       }
   }