低级问题:框架集之间的值传输问题
今天不知怎么的,遇到一个比较低级的问题,但一筹莫展,真是怪事.
我在一个页面中建立了一个框架
左边的:LeftFrame
右边的:MainFrame
左边的框架中放置了一个TreeView控件,作为菜单使用,右边的作为对应页面的显示.
TreeView的一个节点如下:
tn.NavigateUrl = "Orders.aspx?classId=100";
tn.Target = "MainFrame";
右边的页面string Id = Request.QueryString["classId"].ToString();
按理说Orders.aspx页面应该接收到classId的参数,但实际情况就是接收不到,调试后发现classId这个Key已经有了,但值没有,也就是classId老是为空,因此引发了空引用的异常,真是百思不得其解!见了鬼了...
问题点数:100、回复次数:5Top
1 楼loveyzy(菌哥)回复于 2005-11-12 14:11:02 得分 0
怎么没人回答呀?Top
2 楼karykwan(独行者)回复于 2005-11-12 14:12:30 得分 50
Response.Write("<script language=\"javascript\">window.parent.frames(\"mainFrame\").document.location.href =\"searchresults.aspx?type="+index+"&fullType="+indexText+"&abc="+Server.UrlEncode(searchTxt)+"\";</script>");
请注意用Server.UrlEncode解码.不然传不过去
mainFrame为框架名Top
3 楼alexzhang00(三角猫)回复于 2005-11-12 14:12:47 得分 50
tn.NavigateUrl = "Orders.aspx?classId=100";
上面这句,你确定 classId 有值吗?Top
4 楼loveyzy(菌哥)回复于 2005-11-12 14:22:48 得分 0
我找到答案了:
原来我为了在代码中统一风格,让所有的"="符号两头都空一格,于是用编辑器的替换功能将所有"="符号,替换成" = ",但在传输的时候,浏览器会将URL的空格转换成"%",以至于不能正常的接收参数值.在此,我也告诫大家,以后不要犯像我这样的低级错误.
还有,在调试的时候,请善于利用"快速监视"功能(右击变量名),正是这个利器,让我发现了"="号后面多了个"%".
最后,请大家UP几下,让我结帐,谢谢!Top
5 楼xiaofeixia__9999(光之影)回复于 2005-11-12 14:36:41 得分 0
upTop




