现有一用户的个人主页页default.aspx?r=参数(数字)
比如
default.aspx?r=1
default.aspx?r=234
default.aspx?r=123
我在本地调试是一点问题都没有,能正常取到r的值
为什么一传到服务器上面Request.QueryString["r"]就无法取到值,
(补充一下,其他页面无论是服务器还是本地,取参数值都没问题,就这一个页面有问题)谢谢各位指点。

解决方案 »

  1.   

    根据你的描述我想不应该是code的问题,也不是服务器的问题 虽然你这里贴的代码是正常的,但是我想你的文件代码可能作了改动,请仔细察看!!
      

  2.   

    public int myid;if (!IsPostBack)
    {
                    if (Request.QueryString["r"] != null && Request.QueryString["r"].Trim() != string.Empty)
                    {
                        myid = int.Parse(Request.QueryString["r"]);
                    }
                    else
                    {
                        myid = this.UserID;
                    }
                    //判断会员是否存在
                    if (!us.CheckUser(myid))
                    {
                        myid = this.UserID;
                    }
    }this.UserID是用户自己的ID,因为是必须登陆才能查看此页面
      

  3.   

    既然是为了测试你干脆Page_Load()
    {
    Response.Write(Request.QueryString["r"]);
    }
    改成这个试试看!!!!注意访问地址!!!
      

  4.   

    namespace user.Space
    {
        public partial class MySpace : Web.UI.Page.UserPage
        {
            public int myid;
            public string userName = "";
            public string Photo = "";
            public string Rss = "";
            public string Shool = "";
            public int FriendNum = 0;
            public int BlogNum = 0;
            public int ShareNum = 0;
            public int GroupNum = 0;
            public int MovieNum = 0;
            public int PhotoNum = 0;
            public int RssNum = 0;
            public int LogNum = 0;
            public string Province = "";
            public string Number = "";
            public int IsFriend = 0;
            public bool flag = false;
            public string Strhref = "";
            public string Career = "";
            public string Contact = "";
            public string photosmall = "";
            public string h3dis = "";
            public string gbdis = "";
            public string shandis = "";        protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    if (Request.QueryString["r"] != null && Request.QueryString["r"].Trim() != string.Empty)
                    {
                        myid = int.Parse(Request.QueryString["r"]);
                    }
                    else
                    {
                        myid = this.UserID;
                    }
                    //判断会员是否存在
                    if (!us.CheckUser(myid))
                    {
                        myid = this.UserID;
                    }                if (this.UserID != myid)
                    {
                        gbdis = "none";
                    }
                    else
                    {
                        gbdis = "";
                      }
                }
          }
       }
    }
      

  5.   

    你放到ispostback里面 要确定是第一次访问页面就传值建议放ispostback外面
      

  6.   

    还有一种情况,比如 xxxx.aspx?id=123你检查结果 得到的,可能是 乱码。其实,把乱码解释一下,还是123。为了方便起见,我是这么解决的。url的参数需要变成http://localhost/STDSystemManager/WebUserManager/WebUserInfoManager.aspx?id=%e5%86%af%e5%bb%ba%e5%b9%b3类似 这样的东西2个步骤
    1. 变成编码NavigateUrl='<%# "WebUserInfoManager.aspx?id=" + Server.UrlEncode(Convert.ToString(Eval("Username"))) %>'2. 解码string idString = Request.QueryString["id"];
                    idString = Server.UrlDecode(idString);呵呵,直接在跳转前,就编码一次,取参数的时候在解 回来。希望这个可以帮助到你:)
      

  7.   

    你可以跟一下,Request.QueryString["r"].ToString()应该有值,应该使用.ToString()方法获取其值。Request.QueryString的类型是System.Collections.Specialized.NameValueCollection
      

  8.   

    执行Page_Load()
    {
    Response.Write(Request.QueryString["r"]);
    } 看下究竟怎么回事。
      

  9.   

    我觉得是服务器有什么问题,因为本地调试一切正常,并且我用VS2005发布成网站后又在本地试了试,还是正常。但是一传上去就无法取得r的值了
      

  10.   

    这样吧,解决方案不用死盯在asp.net上,你自己下载个别人的成功的简单的asp.net程序,放上去看下Request.QueryString还是不是也有问题,如果有就是服务器的问题了。
      

  11.   

    先谢谢,如果是乱码的话Response.Write(Request.QueryString["r"])显示的也应该是乱码,而不是空白吧?
      

  12.   

    但是我服务器上同一个网站下其他页面的Request.QueryString没有问题呢,唯独这一个
      

  13.   

    你default.aspx?r=的页面和你说没问题的页面是同一个文件夹吗?是不是权限问题啊。虚拟主机有这个问题。
      

  14.   

    真的是文件夹的问题,我把default.aspx考到“取r值没问题的页面的文件夹”下,就有值了,但是我看了下2个文件夹权限都一样呢,一般具体要改些什么
      

  15.   

    asp.net帐户和everyone帐户我都弄上了
      

  16.   

    http://www.8828802.cn/link?s=cf&m=eva6666666
    向大家推荐一款功能强大的CF辅助程序,2008-10-3更新。具体功能请点击网址查看!