【发布时间】:2012-01-19 15:50:26
【问题描述】:
我正在尝试从 javascript 访问 radgrid 控件(链接按钮)。我收到一个空定义的错误。下面是我的 javascript 和 radgrid。 radgrid 位于 radpanel 内部,也是我调用 javascript 的代码。
<script>
function warningMessage(rowIndex) {
debugger;
var dataItems = $find('<%= RadPanelBar1.Items[0].Items[0].FindControl("RadGrid_MCLIDPicker").ClientID %>').get_masterTableView().get_dataItems();
-- getting null error in the above line
}
</script>
我的 radgrid 在下面
<telerik:RadPanelBar ID="RadPanelBar1" runat="server" Width="1500px" BackColor="#E6E6E6"
ExpandMode="MultipleExpandedItems">
<Items>
<telerik:RadPanelItem runat="server" Text="ID Picker" Expanded="true">
<Items>
<telerik:RadPanelItem Text="" Expanded="true">
<ItemTemplate>
<table>
<tr>
<td>
<telerik:RadGrid ID="RadGrid_IDPicker" AllowSorting="false" AllowPaging="false"
runat="server" GridLines="None" Width="1500px" Visible="false">
<MasterTableView RetrieveAllDataFields="true" AutoGenerateColumns="false" DataKeyNames="ID" EnableViewState="true" ClientDataKeyNames="ID" >
<Columns>
<telerik:GridTemplateColumn UniqueName="TemplateLinkColumn" AllowFiltering="false"
HeaderText="ID">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="ID_Link_Click" Text='<%#Bind("ID") %>'></asp:LinkButton>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<PagerStyle Mode="NextPrevAndNumeric" />
</telerik:RadGrid>
</td>
</tr>
</table>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="radBtn_Search">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid_IDPicker" LoadingPanelID="LoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="ID_Link">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid_IDPicker" LoadingPanelID="LoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
</ItemTemplate>
</telerik:RadPanelItem>
</Items>
</telerik:RadPanelItem>
</Items>
</telerik:RadPanelBar>
我的代码是
protected void ID_Link_Click(object sender, EventArgs e)
{
try
{
LinkButton btn = (LinkButton)sender;
GridDataItem row = (GridDataItem)btn.NamingContainer;
ScriptManager.RegisterStartupScript(Page, this.GetType(), "message", string.Format("warningMessage('{0}');", row.ItemIndex), true);
}
catch()
{
【问题讨论】: