单击ImageButton(telerik)时检索行的ID

时间:2012-03-09 15:44:56

标签: c# javascript asp.net telerik

我的网格中每行都有一个ImageButton。当我点击它时,我需要检索所选行的ID。

使用ObjectDataSource完成我的网格。

这是我正在谈论的专栏:

        <telerik:GridTemplateColumn UniqueName="ImageColumnDetails">
            <ItemTemplate>
                <asp:ImageButton ID="ImageButtonDetails" runat="server" ImageUrl="~/img/cle-outil_white.gif"
                     ToolTip="Détails du ticket"
                     OnClientClick='<%# Eval("idAgir","openRadWin({0})") %>;return false;'/>
            </ItemTemplate>
        </telerik:GridTemplateColumn>

如您所见,我需要在我的aspx页面中指定IdAgir,以便通过URL将其传递给JS函数。 谢谢你的帮助

1 个答案:

答案 0 :(得分:3)

确保在您的DataSource中包含idAgir,与您尝试执行此操作的实现一起使用:

<telerik:GridTemplateColumn UniqueName="ImageColumnDetails">
     <ItemTemplate>
           <asp:ImageButton ID="ImageButtonDetails" runat="server" ImageUrl="~/img/cle-outil_white.gif"
                         ToolTip="Détails du ticket"
                         OnClientClick='<%# String.Format("openRadWin({0});return false;",DataBinder.Eval(Container,"DataItem.idAgir"))%> '/>
      </ItemTemplate>
 </telerik:GridTemplateColumn>

-

我个人通常使用这种方法,并在服务器端修改我的列,但我真的没有看到差异。

<telerik:GridTemplateColumn HeaderText="User Name" UniqueName="UserName" SortExpression="UserName">
     <ItemTemplate>
         <asp:HyperLink ID="UserNameLink" runat="server" CssClass="lnkAction icon_toolbar_edit_blue"></asp:HyperLink>
     </ItemTemplate>
</telerik:GridTemplateColumn>


protected void radGrid_ItemCreated(object sender, GridItemEventArgs e)
    {

        if (e.Item is GridDataItem)
        {
            var dataBoundItem = e.Item as GridDataItem;
            HyperLink userNameLink = (HyperLink)dataBoundItem.FindControl("UserNameLink");
            userNameLink.Attributes["href"] = "#";
            userNameLink.Attributes["onclick"] = String.Format("selectRow('{0}');return ShowEditUser('{1}');", dataBoundItem.ItemIndex, dataBoundItem.OwnerTableView.DataKeyValues[dataBoundItem.ItemIndex]["id"]);
            userNameLink.Text = dataBoundItem.OwnerTableView.DataKeyValues[dataBoundItem.ItemIndex]["UserName"].ToString();
        }
    }