模态弹出窗口之自定义控件问题
实现如下图示效果:

为了节省页面代码,打算做成一个用户控件(套用边框及样式)。
自定义控件前台代码:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ModupopupWin.ascx.cs"
Inherits="Web.Controls.ModupopupWin" %>
<div>
<div style="background-image: url(/Images/Windows/Caption.jpg); height: 24px; width: 100%">
<div style="float: left; background-image: url(/Images/Windows/LeftTop.jpg); width: 4px;
height: 26px; border: 0px; padding: 0px">
</div>
<div style="float: right; background-image: url(/Images/Windows/RightTop.jpg); width: 4px;
height: 26px; border: 0px; padding: 0px">
</div>
<div style="float: right; margin-top: 6px; margin-right: 5px">
<asp:ImageButton ID="imgClose" runat="server" OnClientClick="$find('ModalPopup').hide(); return false; "
ImageUrl="/Images/Windows/Close.jpg" CausesValidation="False" />
</div>
<div style="float: left; height: 20px; vertical-align: middle; margin-top: 6px; margin-left: 10px">
<asp:UpdatePanel ID="UpdatePanelTitle" runat="server">
<ContentTemplate>
<asp:Label ID="lblCaption" runat="server" Font-Bold="True" ForeColor="White"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div style="border-left: 4px solid #344579; border-right: 4px solid #344579; border-top: 4px none #344579;
border-bottom: 4px solid #344579; width: auto; height: auto;" runat="server"
id="DivContent">
<div style="margin-bottom: 10px; margin-top: 0px">
<asp:PlaceHolder ID="pnlConttent" runat="server"></asp:PlaceHolder>
</div>
</div>
</div>后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Web.Controls
{
public partial class ModupopupWin : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 窗口标题
/// </summary>
public string CapationText
{
get { return lblCaption.Text; }
set { lblCaption.Text = value; }
}
public void AddPanel(Control p)
{
pnlConttent.Controls.Add(p);
}
}
}
引用用户用户页面代码:
<form id="form1" runat="server">
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajaxToolkit:ToolkitScriptManager>
<div>
<table width="100%">
<tr>
<td align="center">
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</td>
</tr>
</table>
<div>
<ajaxToolkit:ModalPopupExtender ID="ModalPopup" runat="server" PopupControlID="Panel1"
TargetControlID="btnPopup">
</ajaxToolkit:ModalPopupExtender>
<asp:Button ID="btnPopup" Style="display: none" runat="server" />
<asp:Panel runat="server" ID="Panel1" Width="300px">
<uc2:ModupopupWin ID="ModupopupWin1" runat="server" />
<asp:Panel runat="server" ID="pnl">
<table>
<tr>
<td>
标题:
</td>
<td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
</tr>
</table>
</asp:Panel>
</asp:Panel>
</div>
</div>
</form>后台代码:
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
ModupopupWin1.Controls.Add(pnl);
ModalPopup.Show();
}这样执行后出现的弹出页面却是这样:

这样做难道有问题吗?不知道问题出在哪里。
能解决问题高分相赠,不够另加
大家还有其他方式把内容加到这个用户控件中吗?因为我打算用这个弹出窗口的外观样式。
相关推荐
mfc实现点击一个窗口弹出另一个窗口
例如,当用户点击主窗口上的按钮时,需要映射WM_COMMAND消息来触发弹出新窗口的函数。3. **按钮控件**: 主窗口上需要有一个按钮,用户点击后触发弹出新窗口的动作。
用MFC打造自定义屏幕右下角弹出窗口
MFC(Microsoft Foundation Classes)是一个为简化Windows程序开发而设计的C++类库。在MFC中,弹出窗口是一种常见的用户界面元素,用于显示额外信息或进行交互,如消息框、文件对话框等。MFC通过封装Windows API,简化了弹出窗口的创建、管理等操作,使其与应用程序的其他部分集成更加自然。当标准样式无法满足特定需求时,开发者可以使用自定义样式。自定义样式允许开发者通过修改窗口类的扩展样式和窗口过程函数来实现独特的界面设计和交互逻辑。
QT Quick - 自定义弹出窗口
在qt quick中,可以使用Popup组件来轻松创建弹出窗口。最后,在弹出窗口内部,我们使用Rectangle和Text组件实现了弹出窗口的基本UI,并添加了一个Button组件,用于关闭弹出窗口。在这个例子中,我们首先创建了一个按钮,当用户点击该按钮时,弹出窗口将显示出来。在这个例子中,我们设置了modal属性为true,这将使弹出窗口成为模态的,阻止用户与其他应用程序部分交互,直到关闭弹出窗口。总之,在qt quick中,使用Popup组件可以很容易地创建自定义的弹出窗口,并实现一些简单的用户交互。
弹出式窗口设计VB6.0
这是弹出窗口的基础,你可以自定义其大小、颜色、控件等属性。2. **设计界面**:在窗体上放置需要的控件,如文本框、按钮、标签等,以显示消息或提供用户输入。
ASP.NET AJAX弹出窗口
ASP.NET AJAX弹出窗口是一种常见的交互式设计,用于在网页上提供模态或非模态的对话框体验。


