Asp.net 为什么回发会自动将相同的参数附加到url?

Asp.net 为什么回发会自动将相同的参数附加到url?,asp.net,Asp.net,我的web.config中有此重写规则: <RewriterRule> <LookFor>/RecoverPassword.aspx</LookFor> <SendTo>/Logon.aspx?t=pr</SendTo> </RewriterRule> 我不明白为什么回发时,它会自动将相同的查询参数附加到url,因此新url是: http://192.168.1.2/RecoverPassword.a

我的web.config中有此重写规则:

 <RewriterRule>
    <LookFor>/RecoverPassword.aspx</LookFor>
    <SendTo>/Logon.aspx?t=pr</SendTo>
  </RewriterRule>
我不明白为什么回发时,它会自动将相同的查询参数附加到url,因此新url是:

http://192.168.1.2/RecoverPassword.aspx?t=pr
现在…就像你猜的那样,重写的url将是:

/Logon.aspx?t=pr&t=pr
我想这是我忘了在我的IIS中设置的东西。。? 在生产上,没有这种错误,工作得很好

你能给我一个线索吗


谢谢

您是否尝试过在重写规则的action元素中添加appendQueryString=“false”属性?

使用URLRewite时,此属性有助于避免querystring中出现双重条目:

将以下行添加到页面加载事件:

Form.Action = Request.RawUrl;
解决方案最初来自:

Form.Action = Request.RawUrl;