我是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” 请有人帮我如何实现它。
答案 0 :(得分:0)
得到了解决方案。由于RadGrid是通过WebService绑定的(在客户端使用Javascript),我试图在服务器端获取datakeyvalue因此每次datakeyvalue显示为null。试图使用Javascript获取datakeyvalue,代码工作正常。谢谢你 -