Asp.net 检索RadGrid control dropdownlist选定值

Asp.net 检索RadGrid control dropdownlist选定值,asp.net,telerik,telerik-grid,Asp.net,Telerik,Telerik Grid,我有RadGrid和DropDownlist。我试图通过使用javascript循环找到每个控件的值,我得到的findcontrol为“null”。我已经在dropdownlist的代码隐藏中附加了OnClient SelectedIndexChanged。 有什么不对劲吗?我感谢你的建议 <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" AlternatingItemStyle-Hori

我有RadGrid和DropDownlist。我试图通过使用javascript循环找到每个控件的值,我得到的findcontrol为“null”。我已经在dropdownlist的代码隐藏中附加了
OnClient SelectedIndexChanged
。 有什么不对劲吗?我感谢你的建议

  <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" AlternatingItemStyle-HorizontalAlign="Left"
                               OnNeedDataSource="RadGrid1_NeedDataSource">
                                <MasterTableView DataKeyNames="level_id" PageSize="10">
                                    <Columns>
 <telerik:GridTemplateColumn UniqueName="TemplateColumn" HeaderText="Test"
                                            Visible="true">
                                            <ItemTemplate>
                                                <asp:Panel ID="Panel1" runat="server">
                                                    <asp:DropDownList ID="Drop1" runat="server"                                                                                                                                        AutoPostBack="true">
                                                    </asp:DropDownList>
                                                </asp:Panel>
                                            </ItemTemplate>
                                        </telerik:GridTemplateColumn>
                                  </Columns>
</MasterTableView>
</telerik:RadGrid>

Javascript

   function OnClientRatingSelectedIndexChanged(arg) {

        var grid = $find("<%=RadGrid1.ClientID %>");
        var MasterTable = grid.get_masterTableView();
        var Rows = MasterTable.get_dataItems();
        for (var i = 0; i < Rows.length; i++) {
            var row = Rows[i];
            var drop1 = row.findControl("Drop1");  
            var val1 = drop1.selectedValue;
        }   
客户机SelectedIndexChanged(arg)上的函数{ 变量网格=$find(“”); var MasterTable=grid.get_masterTableView(); var Rows=MasterTable.get_dataItems(); 对于(变量i=0;i试试这个:

protected void Radgrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            GridDataItem item = (GridDataItem)e.Item;
            DropDownList list = (DropDownList)item.FindControl("DropDownList1");
            list.Attributes.Add("onChange", "OnSelectedIndexChange('" + item.ItemIndex + "');");
        }
    }
JS:

函数OnSelectedIndexChange(行索引){
变量网格=$find(“”);
var MasterTable=grid.get_masterTableView();
var drop1=MasterTable.get_dataItems()[rowindex].findElement('DropDownList1');
警报(drop1.value);
}

是否应该是
DropDownList list=(DropDownList)项。FindControl(“Drop1”);
function OnSelectedIndexChange(rowindex) {
        var grid = $find("<%=Radgrid1.ClientID %>");
        var MasterTable = grid.get_masterTableView();
        var drop1 = MasterTable.get_dataItems()[rowindex].findElement('DropDownList1');
        alert(drop1.value);

    }