ASP.net中Panel控件用法

有朋友问起我Panel控件有什么用,认为Panel控件只不过是控制一些控件的整体输入输出,没有什么大的用途,呵呵,确实这样,Panel控件的功能只能是这么点点,但是它一旦和其它的Web控件结合起来使用,它的优点就显现出来了。

  我们下面来模拟一个用户申请的页面。申请分为四步,第一步输入用户名,第二步输入用户信息,第三步显示确定信息,第四步确认。如图1至图4


图1


图2


图3


图4

    在一般的技术中,我们每一步就需要一个程序用于判断显示,而在如果使用Panel控件,这四步(或者是更多的步骤)都可以合为一个页面搞定。按照朋友的意 思,我把源程序帖出来,下面是程序,由于最近我们的时间较紧,飞刀就不多解释了,请大家自已理解了。主要是利用Web控件的保值特性:
    <Script Language="C#" Runat="Server">
    public void Page_Load(Object src,EventArgs e)
    {
    if(!Page.IsPostBack)
    {
    file://初始化Panel
    State["PanelSeed"] = 0;
    Panel0.Visible = true;
    Panel1.Visible = false;
    Panel2.Visible = false;
    Panel3.Visible = false;
    }
    }
    public void PrevStep(Object src,EventArgs e)
    {
    file://大家没有忘记State吧。
    string CurrentPanel = "Panel"+State["PanelSeed"].ToString();
    State["PanelSeed"] = (int)State["PanelSeed"]-1;
    string PrevPanel = "Panel"+State["PanelSeed"].ToString();
    file://这里注意FindControl的用法
    Panel p = (Panel)FindControl(CurrentPanel);
    p.Visible = false;
    p = (Panel)FindControl(PrevPanel);
    p.Visible = true;
    }
    public void NextStep(Object src,EventArgs e)
    {
    string CurrentPanel = "Panel"+State["PanelSeed"].ToString();
    State["PanelSeed"] = (int)State["PanelSeed"]+1;
    string NextPanel = "Panel"+State["PanelSeed"].ToString();
    Panel p = (Panel)FindControl(CurrentPanel);
    p.Visible = false;
    p = (Panel)FindControl(NextPanel);
    p.Visible = true;
    if((int)State["PanelSeed"]==2)
    {
    FUserName.Text = UserName.Text;
    FPasswd.Text = Passwd.Text;
    FAddress.Text = Address.Text;
    FZipCode.Text = ZipCode.Text;
    FComment.Text = Comment.Text;
    }
    }
    </script>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <form runat="server">
    <asp:Panel id="Panel0" runat="server" >
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="41%">
    <tr>
    <td width="100%" colspan="3" bgcolor="#339966" align="center">
    <font color="#FFFF99">第一步 选择用户名</font></td>
    </tr>
    <tr>
    <td width="33%" bgcolor="#EEEDDB">用户名:</td>
    <td width="33%" bgcolor="#EEEDDB">
    <asp:TextBox id="UserName" runat="Server" /></td>
    <td width="34%" bgcolor="#EEEDDB">
    <asp:Button id="FristNextStep" Text="下一步" runat="server" OnClick="NextStep"/></td>
    </tr>
    </table>
    </asp:Panel>
    <asp:Panel id="Panel1" runat="server">
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="41%" height="32">

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Grow your business fast with

Suku