程序在另一机器上运行很好!
但放到这台机器上出现了个奇怪的问题!前台传递参数代码<a href='treeview.aspx?dwname=<%# Eval("DwName") %>'>
后台接受代码string dwname = Request.QueryString["dwname"];
        Response.Write(dwname);
        Response.End();
通过测试发现传递过来的四个汉字的参数都可以正常显示!但是超过四个汉字就自动截取成了四个汉字!例如传递过来的是"电算中心"这样没问题!如果传递过来的是"运输专业科"那么只获取了"运输专业"!我觉得是IIS哪里设置的问题?
请教各位高手???

解决方案 »

  1.   

    dwname= <%# Eval("DwName") %>'你的变量是从数据库得到的
    出现这个问题应该是在数据库的问题
    你换了台机器
    是不是数据库换了?并且新数据库回复的时候有那里没有设定好(比如吧varchar(50)弄成了varchar(10))??
      

  2.   

    我查了数据类型都是nvarchar(50)和原来没有区别
      

  3.   

    在前台提取这里前台传递参数代码 <a href='treeview.aspx?dwname= <%# Eval("DwName") %>'>还是5个字"运输专业科"传到后台就4个字了!!郁闷应该不是库的问题吧 ?
      

  4.   

    在webconfig中改下utf-8为gb2132试下
      

  5.   

    改了提示
    配置错误 
    说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 系统不支持“gb2132”编码。 行 1,位置 31。源错误: 
    行 1:  <?xml version="1.0" encoding="gb2132"?>
    行 2:  <!-- 
    行 3:      注意: 除了手动编辑此文件以外,您还可以使用 
     
      

  6.   

    改地方了,改这点
    <globalization 
                requestEncoding="gb2312" 
                responseEncoding="gb2312" 
       />
      

  7.   

    <%#   GetEncode(DataBinder.Eval(Container.DataItem,   "DwName").ToString())%>   
        
        
      cs.   
        
      public   string   GetEncode(string   str)   
      {   
            return   Server.UrlEncode(str);   
            //return   HttpUtility.UrlEncode(str);   
      }