我看有人用hidden ,我试了,可能是我是初学者,有点问题希望能详细一点  谢谢!!

解决方案 »

  1.   

    把网页的参数进行编码
    string strUrl = "a.aspx?" + Server.UrlEncode("....");
      

  2.   

    在 web.config中,将编码方式改为gb2312,就可以了
      

  3.   

    把网页的参数进行编码
    string strUrl = "a.aspx?" + Server.UrlEncode("....");
      

  4.   

    try1. use a Session variable instead, since url has a size limit2. if you insist, 
    Response.Redirect("aspx.aspx?value=" + HttpUtility.UrlEncode(YourString, System.Text.Encoding.GetEncoding("GB2312")));
      

  5.   

    好像通过URL传递的值不能超过1K,1K以内应该是没问题的.你传递的值最好编码一下.
    如:
    Response.Redirect("test.aspx?param="+Server.HtmlEncode("传递的值"));
      

  6.   

    我用你们的方法试了一次结果还是一样,调试-〉开始执行-〉  的时候可以通过
    但是用http://ip 打开就不行了,还是只有一半的数据不知道是什么原因
      

  7.   

    我看见传值的时候url 上显示的还是%95似的东西应当不是字符超过255的问题,因为我把调试-〉开始执行-〉的那个url 拷贝下来
    然后用http://ip/拷贝的东西
    能够打开那个正确的页面
      

  8.   

    因为我传的是表里的字段,查询不同部门的各项内容,经常有一个人同时打开好多链接的情况如果用cookie 的话,是不是那个cookie 设置很麻烦还有什么好的方法可以在aspx  间传数据阿
    谢谢
      

  9.   

    我碰到过这个问题
    解决方法:在webconfig文件中修改
    <globalization 
                requestEncoding="GB2312" 
                responseEncoding="GB2312" 
       />
      

  10.   

    如果使用Response.Redirect传参的话,实际上是使用的浏览器的Get方法。因此字符串长度最大不超过大概1024个字符(我记不太清了也可能是2048个字符)。如果你要传递的参数很多或者值比较大,建议使用表单+POST方法传参,这样就没有大小限制了。关于.net中页面传值得文章 
    标题     ASP.NET WEB FORMS 页面间的传值方法    hbzxf(翻译)  
      
    关键字     ASP.NET WEB 传值 
      
    出处     http://www.dotnetbips.com/ 
      
    ASP.NET WEB FORMS 页面间的传值方法       ASP.NET WEB FORMS  给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面,用同样的方法在ASP.NET中实现有点麻烦。在这里,我们可以通过其他方式来解决这种情形。ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过Server.Transfer方法来实现。下面分别一一介绍:
    一、使用Querystring
    Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。下面通过一个小例子来完成传值工作,步骤如下:
    1、创建一个web form
    2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2 
    3、为button按钮创建click事件
    代码如下:
    private void Button1_Click
    (object sender, System.EventArgs e)
    {
     string url;
     url="webform2.aspx?name=" + 
      TextBox1.Text + "&email=" + 
      TextBox2.Text;
     Response.Redirect(url);
    }
    4、新建一个目标页面命名为webform2
    5、在webform2中放置两个Label1,Label2
    在webform2的Page_Load中添加如下代码:
    private void Page_Load
    (object sender, System.EventArgs e)
    {
     Label1.Text=Request.QueryString["name"];
     Label2.Text=Request.QueryString["email"];
    }
    运行,即可看到传递后的结果了。二、使用Session变量使用Session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed后,变量才会消失。举个例子看看:
    1、创建一个web form
    2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2 
    3、为button按钮创建click事件
    代码如下:
    private void Button1_Click
    (object sender, System.EventArgs e)
    {
            Session["name"]=TextBox1.Text;
     Session["email"]=TextBox2.Text;
     Response.Redirect("webform2.aspx");
    }
    4、新建一个目标页面命名为webform2
    5、在webform2中放置两个Label1,Label2
    在webform2的Page_Load中添加如下代码:
    private void Page_Load
    (object sender, System.EventArgs e)
    {
     Label1.Text=Session["name"].ToString();
     Label2.Text=Session["email"].ToString();
     Session.Remove("name");
     Session.Remove("email");
    }
    运行,即可看到传递后的结果了。三、使用Server.Transfer
    虽然这种方法有点复杂,但也不失为一种在页面传值的方式。
    举个例子看看:
    1、创建一个web form
    2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2 
    3、为button按钮创建click事件
    代码如下:
    private void Button1_Click
    (object sender, System.EventArgs e)
    {
     Server.Transfer("webform2.aspx");
    }
    4、创建过程来返回TextBox1,TextBox2控件的值代码如下:
    public string Name
    {
     get
     {
      return TextBox1.Text;
     }
    }public string EMail
    {
     get
     {
      return TextBox2.Text;
     }
    }
    5、新建一个目标页面命名为webform2
    6、在webform2中放置两个Label1,Label2
    在webform2的Page_Load中添加如下代码:
    private void Page_Load
    (object sender, System.EventArgs e)
    {
     //创建原始窗体的实例
     WebForm1 wf1;
     //获得实例化的句柄
     wf1=(WebForm1)Context.Handler;
     Label1.Text=wf1.Name;
     Label2.Text=wf1.EMail;}
    运行,即可看到传递后的结果了。