Telerik Radwindow在我更改组合框值时自动关闭

Telerik Radwindow在我更改组合框值时自动关闭,telerik,Telerik,我在telerik:rad窗口中使用了usercontrol radwindow在父页面中使用。我在用户控件页面中使用了combobox控件。radwindow在组合框值更改时自动关闭 我的密码在这里 <telerik:RadWindowManager ID="radWinApproveforSite" runat="server"> <Windows> <telerik:RadWindow ID="RadWinSiteApprov

我在telerik:rad窗口中使用了usercontrol

radwindow在父页面中使用。我在用户控件页面中使用了combobox控件。radwindow在组合框值更改时自动关闭

我的密码在这里

<telerik:RadWindowManager ID="radWinApproveforSite" runat="server">
      <Windows>
           <telerik:RadWindow ID="RadWinSiteApproval" align="center" Skin="Sunset" Style="text-align: center" Behaviors="Minimize, Maximize,Close" Modal="true"              ReloadOnShow="true" ShowContentDuringLoad="false" runat="server" Width="700" Height="565" VisibleOnPageLoad="false">
        <ContentTemplate>
               <div id="divPopup" style="height: 500px">
                      <table>
                           <tr>
                              <td>

                     <UC:SiteApprove ID="UCSiteApprove" runat="server"</UC:SiteApprove>


                              </td>
                           </tr>
                       </table>

                </div>
        </ContentTemplate>
        </telerik:RadWindow>
    </Windows>
</telerik:RadWindowManager>


我猜您正在使用javascript打开radwindow。当使用javascript打开页面时,每当页面被发回时,
RadWindow
的(
visible
)状态将恢复为以前发回页面时的状态。不幸的是,这意味着在
RadWindow
内发回可能会有问题;当下拉列表发回时,您可以将
VisibleOnPageLoad
设置更改为
true
,但是这意味着如果页面在关闭RAD窗口后再次发回,它将在这些发回时重新打开,有许多方法可以解决此问题,我的首选项如下:

  • 最简单的方法是始终使用URL来定义
    RadWindow
    的内容,这可以减少页面的视图状态和性能,因为它可以按需加载
  • 创建一个表示
    RadWindow
    可见性状态的控件(例如
    复选框
    ),并在每次加载时确保可见性设置与此控件定义的设置相匹配
  • 不要使用
    AutoPostBack
    ,使用javascript更新第二个下拉列表,重新绑定结果或使用web服务根据所选值进行填充

  • 其他修复程序可能会使用
    AjaxPanel
    AjaxManager
    ,并且需要提供合理数量的代码。

    在内容模板中使用AJAX,或者将UC移动到将在RadWindow中加载的完整页面:。这只是在ContentTemplate中添加一个面板的一行