2010-12-11 14 views
0

私は私のweb.configファイルで、この書き換えルールがあります。なぜポストバックが自動的に同じparamをurlに追加しますか?

<RewriterRule> 
    <LookFor>/RecoverPassword.aspx</LookFor> 
    <SendTo>/Logon.aspx?t=pr</SendTo> 
    </RewriterRule> 

まあ、ユーザーがこのページに来て初めて、すべてが良いです。この条件は真である:

if (Request.Params["t"] == "pr") 

私は理由を理解していない、ポストバック上で、それが自動的にURLに同じクエリパラメータを追加し、その新しいURLは次のとおりです。

http://192.168.1.2/RecoverPassword.aspx?t=pr 

、今...あなたは、書き換えられたURLがなる推測のように:

/Logon.aspx?t=pr&t=pr 

私はそれは私が私のIISで設定するのを忘れて何かだと思いますか..? この種のエラーがなければ、プロダクションはうまくいっています...

私にヒントを教えてもらえますか?

ありがとうございます!

答えて

1

書き換えルールのaction要素にappendQueryString = "false"属性を試しましたか?

+0

どうもありがとう!!! ! –

0

この1つはurlrewriteを使用するときにクエリ文字列に二重のエントリを避けるのを助けることができる:

は、Page_Loadイベントに次の行を追加します

Form.Action = Request.RawUrl; 

ソリューションをもともとから:http://forums.asp.net/t/1684316.aspx/

関連する問題