我已经在这里工作了几个小时了。我有一个 Aspx 页面,带有几个用户控件。每当我在用户控件上调用任何 javascipt 时, ListView 都会更新但不显示对话框。谁能告诉我原因或任何信息。这是我的代码。
aspx页面
用户控制javascript
var album = $(this).prev().val();
$('[id$=AccessChoice]').val(option);
$find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest(album);
用户控制
<telerik:RadAjaxManagerProxy ID="FullAlbumAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="FullAlbumAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ListViewPanel1" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="lvFullControlAlbums" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="FullAlbumCounter" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="ListViewPanel1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ListViewPanel1" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="lvFullControlAlbums" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="FullAlbumCounter" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="lvFullControlAlbums">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ListViewPanel1" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="lvFullControlAlbums" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="FullAlbumCounter" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="rdoSortDate">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ListViewPanel1" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="lvFullControlAlbums" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="rdoSortName">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ListViewPanel1" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="lvFullControlAlbums" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManagerProxy >
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" MinDisplayTime="0" />
最佳答案
这是一个老问题,但我会尝试回答,因为我遇到了同样的问题,这是我的解决方案:
ListView
不会呈现为 HTML 标记(我假设 ListViewPanel1
和 lvFullControlAlbums
是 ListView),因此您应该将这些控件包装在一个 Panel
并相应地修改 AjaxSettings
:
<telerik:AjaxSetting AjaxControlID="FullAlbumAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ListViewWrapper" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<asp:Panel ID="ListViewWrapper" runat="server">
<asp:ListView ID="ListViewPanel1" runat="server" >
<!-- your code here -->
</asp:ListView>
</asp:Panel>
FullAlbumCounter
可能也是一个控件,它本身不呈现为 HTML 标记,仅呈现其内容。在这种情况下,您也应该这样做。
参见:
http://www.telerik.com/community/forums/aspnet-ajax/listview/loading-panel-not-showing-up.aspx
希望对您有所帮助。
https://stackoverflow.com/questions/7813653/