webform1.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="work018.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Panel和PlaceHolder</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<div>
<h4>Panel</h4>
性别:<asp:RadioButton ID="RadioButton1" runat="server" AutoPostBack="true" Text="男" OnCheckedChanged="RadioButton1_CheckedChanged" GroupName="sex" />
<asp:RadioButton ID="RadioButton2" runat="server" AutoPostBack="true" Text="女" OnCheckedChanged="RadioButton2_CheckedChanged" GroupName="sex" />
<asp:Panel ID="Panel1" runat="server">
妻子姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</asp:Panel>
<asp:Panel ID="Panel2" runat="server">
丈夫姓名:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</asp:Panel>
</div>
<div>
<h4>PlaceHolder</h4>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</div>
</div>
</form>
</body>
</html>
webform1.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace work018
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//panel
if (!IsPostBack)
{
Panel1.Visible = false;
Panel2.Visible = false;
}
//placeholder
Button btn1 = new Button();
btn1.Text = "动态添加控件";
btn1.Click += btn1_Click;
PlaceHolder1.Controls.Add(btn1);
}
void btn1_Click(object sender, EventArgs e)
{
Literal lit = new Literal();
lit.Text = "PlaceHolder1控件总共容纳了" + PlaceHolder1.Controls.Count + "个控件<br>";
PlaceHolder1.Controls.Add(lit);
}
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
Panel1.Visible = true;
Panel2.Visible = false;
}
protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
{
Panel1.Visible = false;
Panel2.Visible = !Panel1.Visible;
}
}
}