前台大概代码:..........
   <div class="hang">
       <div class="hang_text1">注册密码:</div>
       <div class="hang_text2"><asp:TextBox ID="password" runat="server" MaxLength="15" 
               TextMode="Password" Wrap="False" Width="180px" onblur="check_pass();"></asp:TextBox></div>
       <div class="hang_text3"><asp:Label ID="Label2" runat="server" Text="英文和数字组合,长度为6-12位"></asp:Label>
           <asp:CustomValidator ID="CustomValidator2" runat="server" 
               ErrorMessage="CustomValidator" onservervalidate="pass" 
               ValidateEmptyText="True" ControlToValidate="password"></asp:CustomValidator></div>
   </div>
   <div class="hang">
       <div class="hang_text1">确认密码:</div>
       <div class="hang_text2"><asp:TextBox ID="repass" runat="server" MaxLength="15" 
               TextMode="Password" Wrap="False" Width="180px" onblur="check_repass();"></asp:TextBox></div>
       <div class="hang_text3"><asp:Label ID="Label3" runat="server" Text="重复输入一次注册密码"></asp:Label>
           <asp:CustomValidator ID="CustomValidator3" runat="server" 
               ErrorMessage="CustomValidator" onservervalidate="repassword" 
               ValidateEmptyText="True" ControlToValidate="repass"></asp:CustomValidator></div>
   </div>
   <div class="hang">
       <div class="hang_text1">密码保护问题:</div>
       <div class="hang_text2">
           <asp:DropDownList ID="DropDownList1" runat="server" Width="180px">
               <asp:ListItem Selected="True" Value="0">我的真实姓名</asp:ListItem>
               <asp:ListItem Value="1">我父亲的名字</asp:ListItem>
               <asp:ListItem Value="2">我母亲的名字</asp:ListItem>
               <asp:ListItem Value="3">我的QQ号码</asp:ListItem>
           </asp:DropDownList>
                        </div>
.....
 <div class="subbit"><asp:Button ID="Button1" runat="server" Text="确认注册" PostBackUrl="~/regsql.aspx"  /></div>
有一个下拉框,3个文本框,我只贴一个好了regsql.aspx接受页面:   public partial class regsql : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
                
                    DropDownList question = (DropDownList)PreviousPage.FindControl("DropDownList1");
                    String quest = question.SelectedValue;
                    String u_id = ((TextBox)PreviousPage.FindControl("userid")).Text;
                    String u_pass = ((TextBox)PreviousPage.FindControl("password")).Text;
                    String answer = ((TextBox)PreviousPage.FindControl("TextBox5")).Text;
                    Label1.Text = u_id;
                
             //用下面的代码也无法获取
            //String u_pass = Request.Form["password"]; 
            //String question = Request.Form["DropDownList1"];
            //String answer = Request.Form["TextBox5"];            //用下面的代码也无法获取
            //String u_pass = Request.QueryString["password"]; 
        }
    }
}如果直接用 Label1.Text = Request.Form.ToString();能获取到数据,数据为:__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2fwEPDwULLTIxMjQyNzk4NDBkZOPA0iAAJyThpD%2fS5cbBt14%2bAeRy&ctl00%24ContentPlaceHolder2%24userid=aaaaaa&ctl00%24ContentPlaceHolder2%24password=aaaaaa&ctl00%24ContentPlaceHolder2%24repass=aaaaaa&ctl00%24ContentPlaceHolder2%24DropDownList1=0&ctl00%24ContentPlaceHolder2%24TextBox5=aaaaa&ctl00%24ContentPlaceHolder2%24Button1=%u786e%u8ba4%u6ce8%u518c&__PREVIOUSPAGE=147qB6O7-x1HVgNk7ILrZQ2

解决方案 »

  1.   

    String quest = question.SelectedValue;提示错误:未将对象引用设置到对象的实例。
      

  2.   

    cs 中action 这个只能提交给自己。不能提交到别的页面,如果是提交给自己的话,可以考虑用request["控件的name属性"]
      

  3.   

    解决了:方法2: 
    在提交的页面aa.aspx写一个public的属性 
    public TextBox   theTextBox 
    {get{return   TextBox1;}} 
    然后在bb.aspx新加一个PreviousPageType   指令,   就是在bb.aspx的源视图下,   在最顶上添加一行 
      <%@   PreviousPageType   VirtualPath= "aa.aspx "   %>  
    接着就可以在bb.aspx里调用PreviousPage.theTextBox了,   如 
    string   s   =   PreviousPage.theTextBox.Text; 
      

  4.   

    本页面通过属性取值如
    public string s
    {
    get{return textbox1.Text;}
    }
    在其他页面获取属性
    或通过postbackyrl传值