获取RadGrid的所选行的DataKeyValue(在进行无线电按钮检查时)

时间:2014-12-11 17:33:30

标签: c# asp.net telerik

我是Telerik控件的新手。我的网页上有一个RadGrid,在RadGrid内的每一行旁边都有RadiobButton。我想在检查particula行的RadioButton时获取所选行的Datakeyvalue(主键)。

我尝试了以下代码:

<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" AllowSorting="True" OnNeedDataSource="RadGrid1_NeedDataSource" AllowFilteringByColumn="True" OnItemCommand="RadGrid1_ItemCommand" CellSpacing="0" GridLines="None">
   <GroupingSettings CaseSensitive="false" />
   <MasterTableView DataKeyName="Id">
       <ColumnGroups>
         <telerik:GridTemplateColumn UniqueName="" HeaderText="Select">
            <ItemTemplate>
               <asp:RadioButton ID="rbdSelect" runat="server" AutoPostBack="true"     OnCheckedChanged="rbdSelect_CheckedChanged"></asp:RadioButton>
            </ItemTemplate>
         </telerik:GridTemplateColumn>
       </ColumnGroups>
protected void rbdSelect_CheckedChanged(object sender, EventArgs e)
{
    foreach (GridDataItem item in RadGrid1.Items)
    {
        RadioButton rbd = (RadioButton)item.FindControl("rbdSelect");
        if (rbd.Checked==true)
        {
            string key = item.GetDataKeyValue("Id").ToString();
            //string id = RadGrid1.MasterTableView.Items[0].GetDataKeyValue("Id").ToString();
        }
    }
    Response.Redirect("~/PrintInvoice.aspx");
}

但它不起作用。请帮我解释如何检索选定的行Id / DataKeyValue。

另外,我想在其他页面上传递RadGrid选定行的Id / DataKey值,说“Default2.aspx” 请有人帮我如何实现它。

1 个答案:

答案 0 :(得分:0)

得到了解决方案。由于RadGrid是通过WebService绑定的(在客户端使用Javascript),我试图在服务器端获取datakeyvalue因此每次datakeyvalue显示为null。试图使用Javascript获取datakeyvalue,代码工作正常。谢谢你 -