这个控件主要用于处理各种弹出窗口。我用到的一些属性
Modal 是否模态窗口
AllowDragging 是否可以拖动
HeaderText 窗口头部内容
Text 窗口内容
FootText 窗口底部内容
Height 窗口高
Width 窗口宽
1.客户端弹出窗口
在页面中要给这个属性赋值 ClientInstanceName="pcShow"
然后就可以通过调用函数来弹出窗口了
<script language="javascript">
function myShow(myMsg) {
pcShow.SetHeaderText("我的测试");
pcShow.SetContentHtml("Loading..." + myMsg);
pcShow.Show();
}
</script>
2. 服务端弹出窗口
PopupWindow pcWindow = new PopupWindow("hello!");
ASPxPopupControl1.Windows.Add(pcWindow);
3.服务端弹出创出窗口,窗口含网页
PopupWindow pcWindow = new PopupWindow();
pcWindow.ContentUrl = "WebForm1.aspx";
ASPxPopupControl1.Windows.Add(pcWindow);
4.捕捉客户端事件
通过捕捉客户端事件,可以实现诸如关闭窗口刷新窗体的功能
<ClientSideEvents CloseUp="function(s,e) { alert('关闭窗体事件');}" />
其中CloseUp是关闭事件,还可以捕捉其它的事件,具体看帮助
具体应用:
//紫红色加粗部分至关重要,否则弹窗是乱的,或者一直在左上角,做偏移又无法同时适应手机和电脑
<dx:ASPxPopupControl ID="ASPxPopupControl1" runat="server" Theme="DevEx" Height="200px" Modal="True" PopupHorizontalAlign="WindowCenter" PopupVerticalAlign="WindowCenter" Width="250px">
</dx:ASPxPopupControl>
后台代码:
PopupWindow pcwindow = new PopupWindow("验证码输入错误!");
this.ASPxPopupControl1.HeaderText = "提示:此处按住鼠标左键可以拖动";
pcwindow.ShowOnPageLoad = true; //这个不设置,弹窗无效
this.ASPxPopupControl1.Windows.Add(pcwindow);
ASPxPopupControl1.Width = 250;
this.ASPxPopupControl1.Windows.Add(pcwindow);
//下面的应该放入page_load的ispostback=false中,然后这里findcontrol找到该对象,否则下一次单击就不显示了--测试中
/*可以在界面设计中设置ASPxPopupControl的高度和宽度均为1,然后再编程改变其属性
ASPxPopupControl ASPxPopupControl1 = new ASPxPopupControl();
ASPxPopupControl1.Theme = "Youthful";
ASPxPopupControl1.Height = 200;
ASPxPopupControl1.Width = 250;
ASPxPopupControl1.Modal = true;
ASPxPopupControl1.AllowDragging = true;
ASPxPopupControl1.PopupHorizontalAlign = PopupHorizontalAlign.WindowCenter;
ASPxPopupControl1.PopupVerticalAlign = PopupVerticalAlign.WindowCenter;
ASPxPopupControl1.HeaderText = "提示:此处按住鼠标左键可以拖动";
ASPxPopupControl1.ID = "ASPxPopupControl1";
ASPxPopupControl1.Windows.Add(pcwindow);
// this.bg_rq.Visible = true;
// this.Page.Controls.Add(ASPxPopupControl1);
this.bg_rq_dyg.Controls.Add(ASPxPopupControl1);
// this.bg_rq.Visible =false;
具体实例:
pcwin.ShowOnPageLoad = true;
ASPxRoundPanel_pksz_jc.Visible = true;//本控件不能放在其他容器内部;aspx界面文件设置为ASPxRoundPanel_pksz_jc.Visible=false
pcwin.Controls.Add(ASPxRoundPanel_pksz_jc);
// pcwin.Text = "测试";
this.ASPxPopupControl1.HeaderText = "排课基础设置(本弹窗可拖动)";//本控件不能放在其他容器内部
this.ASPxPopupControl1.Height = 250;
this.ASPxPopupControl1.Width = 400;//宽度,高度与控件ASPxRoundPanel_pksz_jc差不多
this.ASPxPopupControl1.Windows.Add(pcwin);