JavaScript를 사용하여 클라이언트 측에서 RadGrid 컨트롤의 ClientID를 가져 와서 데이터를 클라이언트 측에서 바인딩 할 수있게하려고합니다. .RadLightBox의 RadLightBoxItem 태그 안에있는 RadGrid의 클라이언트 ID 찾기
RadGrid는 RadLightBox 내에 있으며 버튼 클릭 이벤트에 채워 져야합니다. LightBox의 마크 업은 다음과 같습니다.
<telerik:RadLightBox ID="RadLightBox1" runat="server">
<Items>
<telerik:RadLightBoxItem runat="server">
<ItemTemplate>
<telerik:RadGrid runat="server" ID="lightbox_radgrid" AutoGenerateColumns="false">
<MasterTableView>
<Columns>
<%-- Columns not shown here --%>
</Columns>
</MasterTableView>
<ClientSettings>
<ClientEvents OnCommand="window_radgrid_OnCommand" />
</ClientSettings>
<GroupingSettings CaseSensitive="false" ShowUnGroupButton="true" />
</telerik:RadGrid>
</ItemTemplate>
</telerik:RadLightBoxItem>
</Items>
</telerik:RadLightBox>
이것은 내가 작성한 부분적인 자바 스크립트 코드입니다. RadLIghtBoxItem 요소를 찾을 수 있지만 RadGrid를 가져올 수 없으며 clientID입니다. 이 메서드는 데이터를 반환하는 웹 서비스 호출 성공시 실행됩니다.
function onSucessCallThis(result, userContext, methodName) {
var radWindow = $find('<%= lightbox.ClientID %>');
var LightBoxItems = radWindow.get_items();
console.log(LightBoxItems);
console.log(LightBoxItems.get_count());
var item = LightBoxItems.getItem(0);
console.log(item); //Able to fetch LightBoxItem
var radGrid = item.FindControl("lightbox_radgrid"); //Doesn't work
}
radLightBox에 radGrid를 설치하는 것이 올바른지 잘 모르겠습니다. 이 온라인의 예는 많지 않습니다.