C# 更新/刷新Rad ajax面板中的控件
我在更新/刷新Rad ajax面板中的控件时遇到问题 我有一个Rad ajax面板,我在其中放置了一个网格,通过将它们放在表中,RadPanelBar可以并排放置 当用户选择网格中的任何记录时,该记录的详细信息将显示在RadPanelBar旁边。所以 在选择记录的过程中,我正在刷新整个Rad ajax面板,以获得正确的所选记录详细信息 但另外,我想要的是,当用户对网格的记录进行排序时,我只需要刷新网格,为此我放置了 Radgrid再次出现在另一个Radajax面板中,这造成了问题。当我点击grid的链接按钮时,我的Radgrid不会随着grid的点击事件而更新 它应该突出显示单击的行。但当我把网格放在Ajax面板中时,直到我刷新网格时,它才会突出显示。 当我把它放在另一个嵌套的rad ajax面板中时。请帮助我如何在排序时仅刷新Radgrid 我的设计:C# 更新/刷新Rad ajax面板中的控件,c#,asp.net,telerik,telerik-grid,C#,Asp.net,Telerik,Telerik Grid,我在更新/刷新Rad ajax面板中的控件时遇到问题 我有一个Rad ajax面板,我在其中放置了一个网格,通过将它们放在表中,RadPanelBar可以并排放置 当用户选择网格中的任何记录时,该记录的详细信息将显示在RadPanelBar旁边。所以 在选择记录的过程中,我正在刷新整个Rad ajax面板,以获得正确的所选记录详细信息 但另外,我想要的是,当用户对网格的记录进行排序时,我只需要刷新网格,为此我放置了 Radgrid再次出现在另一个Radajax面板中,这造成了问题。当我点击gri
<telerik:RadPageView ID="radPage1" runat="server">
<telerik:RadAjaxPanel ID="RadAjaxPanel3" runat="server" EnableAJAX="True" LoadingPanelID="RadAjaxLoadingPanel1"
ClientEvents-OnRequestStart="onRequestStart">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 50%">
<%-- <telerik:RadAjaxPanel ID="RadAjaxPanel4" runat="server" EnableAJAX="True" LoadingPanelID="RadAjaxLoadingPanel1"
ClientEvents-OnRequestStart="onRequestStart"> --%>
<telerik:RadGrid ID="radGrid" runat="server" AllowSorting="true" AllowFilteringByColumn="False"
OnNeedDataSource="grdUnResolvedFaxes_NeedDataSource" Skin="Metro" CellSpacing="0"
GridLines="None" Width="99%" PageSize="12" OnItemCommand="grdUnResolvedFaxes_ItemCommand"
EnableViewState="true">....
.....
.....
</telerik:RadGrid>
<%-- </telerik:RadAjaxPanel> --%>
</td>
<td style="width: 50%">
<telerik:RadPanelBar runat="server" ID="pnlBar" ExpandMode="MultipleExpandedItems"
Width="99%" Visible="false">
<Items>
.................
</Items>
</telerik:RadPanelBar>
</td>
</tr>
</table>
</telerik:RadAjaxPanel>
</telerik:RadPageView>
我不确定这个链接按钮是什么,但从我收集的信息来看,您需要一个操作(网格上的更新)来做两件不同的事情(仅更新网格,或者同时更新面板栏)。这是一个相当混乱的场景,我不认为代码有办法知道何时只包含一个控件
这样,您只需在需要重新绑定数据时使用“<代码> ASP:UpDeaPoEnEng/<代码>在PANELBAR中使用<代码> UpDeaMyDe=条件< /代码>,并调用其<代码> UpDebug()/Cux.Server方法。这可以在需要时为您提供有条件的更新。在这种情况下,仅在网格周围放置一个面板就足够了
正如您所发现的,嵌套AjaxPanel可能会导致问题,因此您应该避免这种情况 如果在客户端上知道需要更新panelbar,则可以使用JavaScript在其元素上显示RadAjaxLoadingPanel,如下所示: if (e.CommandName.ToLower() == "select")
{
RadAjaxPanel4.ResponseScripts.Add(String.Format("$find('{0}').ajaxRequest();", RadAjaxPanel3.ClientID));
}