NicholasZhr(只在乎一时的灵感) ,能说具体一点吗?
比如我在a.aspx中有:
<form id="Form1" name="Form1" method="post" runat="server" action="b.aspx">
...
<asp:TextBox id="username" runat="server"></asp:TextBox>
<asp:TextBox id="password" runat="server" TextMode="Password"></asp:TextBox>
...
</form>
我要把数据提交到b.aspx,并在b.aspx中得到数据

解决方案 »

  1.   

    如果A里有一个BUTTON,当CLICK的时候触发POST事件,使页面转发到B!
    当到达B以后在PAGE_LOAD时使用上面的方法。具体的NAME是你POST时FORM里的NAME!
      

  2.   

    你把form1的ruanat=server去掉看看,或者干脆用html控件好了,
      

  3.   

    属于保密信息吗?
    不是的话用查询字符串,可以用LinkButton,让它 url=b.aspx?name=value
    这个字符串可以动态生成。
    然后在B中,读出name值就行了。
    如果要保密,可以选择Web.Security命名空间,进行加密
    然后Application,session,或刚才的方法
    呵呵,不嫌麻烦的话用Xml数据文件,甚至数据库
      

  4.   

    Server.Transfer("b.aspx")
      但是你要在a.aspx中定义 public属性
      在b.aspx中引用a.aspx中的对象,调用属性
      

  5.   

    NicholasZhr(只在乎一时的灵感) 谢谢您,可是a页面无法post到b页面,在a页面的源程序改action="b.aspx"没有用,生成html代码的action是a.aspx,还是提交的a.aspx;wincarf(carfield) 由于特殊需求,form的runat必须在server端,更不能用html
      

  6.   

    可以用Session,
    如 Session.Add("ID",textbox1.Text.Trim());
       Session["PWD"]=textbox2.Text;
    然后在b.aspx中直接使用 Session["ID"].ToString()或 Session["PWD"].ToString()访问即可
      

  7.   

    多谢各位的指点:
    DouKeKe(豆壳) 的方法好像比较复杂,我的信息的确是需要保密的,而且现在急着要用,后面慢慢研究^_^。fly_miss(思念) 的方法好像比较如一实现,能不能说具体一点,好像不是很明白,谢谢!
      

  8.   

    楼主你是想在URL里不显示参数是吗!?
      

  9.   

    我的参数都是保密的,比如说账号密码之类的,所以不能显示出来,我的具体需求是:
    在一台应用服务器中获取用户提交的数据,做部分处理然后在服务器端将这些数据再自动提交的另一台应用服务器。
    刚才在试fly_miss(思念)提到的Server.Transfer("b.aspx")时,如果把参数"b.aspx"换成"http://192.168.2.1/b.aspx"就报错,好像只能用虚拟路径
      

  10.   

    如果那样可以告诉楼主了必须使用HTML控件!偶已经试过了!
      

  11.   

    不会吧,难道.net就只能做到这一步吗?很受打击,在关注一下
      

  12.   

    Submitting Web Form data from one ASP.NET page to another [2003-7-24]
    http://www.stardeveloper.com/articles/display.html?article=2003061901&page=1
      

  13.   

    去code project 查文
    How to transfer object between pages without using session-object
      

  14.   

    在第一个页面中Server.Transfer("WebForm2.aspx");
    或者Response.Redirect("WebForm2.aspx");在第二个页面中Response.Write(Request.Form["TextBox1"].ToString());之所以POST不过去,因为"runat=server"属性会禁止移向另外一个页面,因为它会自动在制定的第一个页面中创建action属性,从而覆盖了你所指定的东西。这个也许是.net对于原来asp的一种升级。
      

  15.   

    建议用Session,可在页面间传值
    赋值:Session[“xxx ”] = xxx;
         或Session.Add("xxx",xxx);
    取值:类型 xxx = (类型)Session[“xxx ”];
    传值后不要忘记清空Session的值,不然会占用系统资源。
    消除Session的值:Session.Remove(“xxx”);
      

  16.   

    用Session,不难用,用时注意清除资源,还有就是session中数据的时间期限
      

  17.   

    谢谢各位的帮助,但是用session不能解决我的问题,我的情况时,用户登录(可能同时会有多用户登录),在一台服务器上做部分处理,然后自动将用户信息提交到另一台服务器上的某个页面,另一台服务器开始作相应的事情,如果用session首先没有办法触发另一台服务器开始工作,其次如果多用户同时登陆可能会有部分session数据被覆盖而丢失
      

  18.   

    登录时将用户数据、IP和时间保存到数据库,转到B页读出来。
      

  19.   

    在B所在服务器定义一个远程接口(Web service),A提交时将数据通过call B 的web service 将数据提交到B所在服务器,再通过B服务器的WEB SERVICE判断逻辑。
      

  20.   

    多谢大家的指教,开来还是用webSservice比较好,送分