首页 新闻 搜索 专区 学院

Server.Transfer 传参数错乱

0
[已解决问题] 解决于 2012-03-15 13:01

网站访问量比较大

 

 

假设当前页面是AA.aspx

AA.aspx 里面执行 Server.Transfer("xx.aspx");

 

访问 AA.aspx?action=abc

到了 xx.aspx 接收 action 参数 发现 错误了 不是abc ,是其他的,而且一直变

 

 

xx.aspx 接收到的参数 和实际的不对,错乱了

fun5的主页 fun5 | 初学一级 | 园豆:4
提问于:2012-03-15 10:56
< >
分享
最佳答案
0

AA.aspx 里面执行 Server.Transfer("xx.aspx");

这个地方应该是:

AA.aspx 里面执行 Server.Transfer("xx.aspx?action=abc");

artwl | 专家六级 |园豆:16526 | 2012-03-15 11:00

更改了下,发现问题仍然没有变化,这个 Server.Transfer 怀疑不能用

fun5 | 园豆:4 (初学一级) | 2012-03-15 11:06

Server.Transfer(RootPath + "xx.aspx" + Request.Url.Query);

fun5 | 园豆:4 (初学一级) | 2012-03-15 11:07

我错了,不是
Server.Transfer 的原因

我使用了 微软的那个URLRewrite 

接收到的参数发生了变化

伪静态规则如: 

<RewriterRule>
<LookFor>~/zt/(\w+)/</LookFor>
<SendTo>
<![CDATA[/zt.aspx?action=default&key=$1]]>
</SendTo>
</RewriterRule>

URL如:www.xxx.com/zt/accc/

 

发现接收到的这个 key 发生了变化 很是奇怪

fun5 | 园豆:4 (初学一级) | 2012-03-15 11:19

知道原因了 

我在头部加了个 <%@ OutputCache Duration="60" VaryByParam="none" %> 去掉之后就好了

对.net 经验还是少啊,缺乏系统的学习,不知道有什么书可以推荐的,我想系统 学习下 .net

fun5 | 园豆:4 (初学一级) | 2012-03-15 11:31

@foxidea: 

园子里大牛写的:《ASP.NET本质论》《你必须知道的.NET》都不错,可以看看

artwl | 园豆:16526 (专家六级) | 2012-03-15 11:32

@artwl: 好,我先买本 本质论看看

fun5 | 园豆:4 (初学一级) | 2012-03-15 11:50

Server.Transfer是在服务端将同一个请求转发给另一个页面处理,不需要另外传参数。

Server.Transfer("xx.aspx"); 是正确的写法。

dudu | 园豆:38815 (高人七级) | 2012-03-15 11:52

@dudu: 学习了,Server.Transfer用的少,不知道不需要处理参数

artwl | 园豆:16526 (专家六级) | 2012-03-15 11:53
其他回答(2)
0

用Response.Redirect()试试

tab_china | 园豆:54 (初学一级) | 2012-03-15 11:19
0

试试:Server.TransferRequest("xx.aspx");

dudu | 园豆:38815 (高人七级) | 2012-03-15 11:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册