ASP.NET中使用多个runat=server form



asp.net 在同一个页面不支持多个 runat=server forms,要解决这个问题,可以把每个 form 放在一个单独的 panel 控件中,这样用户就可以简单地通过单选按钮在不同 panel 间切换。
代码如下:
2formexample.aspx

<%@ page language="c#" codebehind="2formexample.cs" autoeventwireup="false" 
inherits="_3leaf_app.c2formexample" %>
<html><head>
<meta name=vs_targetschema content="html 4.0">
<meta name="generator" content="microsoft visual studio 7.0">
<meta name="code_language" content="c#"></head>
<body>

<form method="post" runat="server" id=form1>
    <p>lookup by 
    <asp:radiobutton id=radiobutton1 runat="server" text="first name" autopostback="true"  groupname=g1 
checked=true></asp:radiobutton>
    <asp:radiobutton id=radiobutton2 runat="server" text="last name" autopostback="true" 
groupname=g1></asp:radiobutton></p>
    <p></p>
    <p>
    <asp:panel id=panel1 runat="server" visible=true>
        first name : 
        <asp:textbox id=textbox1 runat="server"></asp:textbox>
        <asp:requiredfieldvalidator id=requiredfieldvalidator1 runat="server" errormessage="*" 
controltovalidate="textbox1"></asp:requiredfieldvalidator>
        <asp:button id=button1 runat="server" text="submit"></asp:button>
    </asp:panel>
    <asp:panel id=panel2 runat="server" visible=false>
        last name : 
        <asp:textbox id=textbox2 runat="server"></asp:textbox>
        <asp:requiredfieldvalidator id=requiredfieldvalidator2 runat="server" errormessage="*" 
controltovalidate="textbox2"></asp:requiredfieldvalidator>
        <asp:button id=button2 runat="server" text="submit"></asp:button>
    </asp:panel>
    <p></p>
    <p>
        <asp:label id=label1 runat="server"></asp:label>
    </p>
</form> 

</body></html>


2formexample.cs

namespace _3leaf_app
{
    using system;
    using system.collections;
    using system.componentmodel;
    using system.data;
    using system.drawing;
    using system.web;
    using system.web.sessionstate;
    using system.web.ui;
    using system.web.ui.webcontrols;
    using system.web.ui.htmlcontrols;

    /// <summary>
    ///    summary description for c2formexample.
    /// </summary>
    public class c2formexample : system.web.ui.page
    {
  protected system.web.ui.webcontrols.button button2;
  protected system.web.ui.webcontrols.requiredfieldvalidator requiredfieldvalidator2;
  protected system.web.ui.webcontrols.textbox textbox2;
  protected system.web.ui.webcontrols.button button1;
  protected system.web.ui.webcontrols.requiredfieldvalidator requiredfieldvalidator1;
  protected system.web.ui.webcontrols.textbox textbox1;
  protected system.web.ui.webcontrols.label label1;
  protected system.web.ui.webcontrols.panel panel2;
  protected system.web.ui.webcontrols.panel panel1;
  protected system.web.ui.webcontrols.radiobutton radiobutton2;
  protected system.web.ui.webcontrols.radiobutton radiobutton1;
    
    public c2formexample()
    {
        page.init += new system.eventhandler(page_init);
        }

        protected void page_load(object sender, eventargs e)
        {
            if (!ispostback)
            {
            }
        }

        protected void page_init(object sender, eventargs e)
        {
            //
            // codegen: this call is required by the asp+ windows form designer.
            //
            initializecomponent();
        }

        /// <summary>
        ///    required method for designer support - do not modify
        ///    the contents of this method with the code editor.
        /// </summary>
        private void initializecomponent()
  {
   radiobutton1.checkedchanged += new system.eventhandler (this.radiobutton1_checkedchanged);
   button1.click += new system.eventhandler (this.button1_click);
   radiobutton2.checkedchanged += new system.eventhandler (this.radiobutton2_checkedchanged);
   button2.click += new system.eventhandler (this.button2_click);
   this.load += new system.eventhandler (this.page_load);
  }

        public void button2_click (object sender, system.eventargs e)
        {
            label1.text = "you want to search on last name";
        }

        public void button1_click (object sender, system.eventargs e)
        {
            label1.text = "you want to search on first name";
        }

        public void radiobutton2_checkedchanged (object sender, system.eventargs e)
        {
            panel1.visible = false;
            panel2.visible = true;
        }

        public void radiobutton1_checkedchanged (object sender, system.eventargs e)
        {
            panel1.visible = true;
            panel2.visible = false;
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值