如何从后面的代码运行telerik RadWindow
我想从后面的代码运行telerik rad窗口。 但我有一些问题。 我不知道它是否重要,但我试图从rad网格的编辑模式中点击按钮运行rad窗口。
RadWindow window1 = new RadWindow();
window1.NavigateUrl = "http://www.google.com";
window1.VisibleOnPageLoad = true;
window1.ID = "RadWindow1";
window1.Width = 500;
window1.Height = 300;
window1.VisibleOnPageLoad = true;
rwm_WindowManager.Windows.Add(window1);
在页面上,我也有RadAjaxManager
和rwm_WindowManager
我把它放在RadAjaxPanel
。
问题是这个拉窗不会出现。 没有错误,但也没有辐射窗口。
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
</telerik:RadScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
</telerik:RadAjaxManager>
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">
<telerik:RadWindowManager ID="RadWindowManager1" runat="server">
</telerik:RadWindowManager>
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid1_NeedDataSource"
OnItemCommand="RadGrid1_ItemCommand">
<MasterTableView DataKeyNames="ID">
<Columns>
<telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
</ItemTemplate>
<EditItemTemplate>
<asp:Button ID="Button1" Text="Open window" CommandName="OpenWindow" runat="server" />
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridEditCommandColumn>
</telerik:GridEditCommandColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
</telerik:RadAjaxPanel>
........................
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
dynamic data = new[] {
new { ID = "1", Name ="Name11",ParentID = "0"},
new { ID = "2", Name ="Name11",ParentID = "0"},
new { ID = "3", Name ="Name11",ParentID = "0"},
new { ID = "4", Name ="Name11",ParentID = "0"}
};
RadGrid1.DataSource = data;
}
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "OpenWindow")
{
//RadWindowManager
RadWindow window1 = new RadWindow();
window1.NavigateUrl = "http://www.google.com";
window1.VisibleOnPageLoad = true;
window1.ID = "RadWindow1";
window1.Width = 500;
window1.Height = 300;
RadWindowManager1.Windows.Add(window1);
}
}
把你的RadWindowManager放到RadAjaxPanel里面。
我刚刚有一个类似的问题。 我解决它是这样的:
RadAjaxManager.GetCurrent(Page).ResponseScripts.Add(String.Format("$find('{0}').show();", window1.ClientID));
我的应用程序使用使VisibleOnPageLoad
属性有问题的VisibleOnPageLoad
,所以我完全避免它。
看看这里:关闭radwindow时如何刷新父页面网格? 并检查我的答案中的链接。 该方法更清洁,并会免去你一些不必要的回传。
链接地址: http://www.djcxy.com/p/56929.html