当然可以,但是这种方法有两个问题:
所以,考虑以下想法:
以下是根据您的评论对其中一个想法(我会采用)的示例实现:
母版页
<telerik:RadWindowManager ID="RadWindowManager1" runat="server"></telerik:RadWindowManager>
<script>
function openDialog(url, modal, width, height) {
if (radopen) { //if not, there is no RadWindowManager on the page, add an else{} block to use window.open() or other logic
var wnd = radopen(url, null);
wnd.set_destroyOnClose(true);
//add checks here in case parameters have not been passed
wnd.setSize(width, height);
wnd.center();
wnd.set_modal(modal);
}
}
</script>
用户控件标记
<asp:Button ID="Button1" Text="open RW" OnClick="Button1_Click" runat="server" />
使用控制代码隐藏
protected void Button1_Click(object sender, EventArgs e)
{
bool flag = true;
if(flag)
{
string script = string.Format("function f(){{openDialog('{0}', {1}, {2}, {3});Sys.Application.remove_load(f);}}Sys.Application.add_load(f);",
"the-page.aspx",
"true",
600,
400);
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "someKey", script, true);
}
}