2017-08-11 6 views
2

を更新していない.....window.locationの私が把握することはできませんねえ、私は本当に奇妙な問題を持って正しく

を持っていますあなたはそれを渡す。

フロントエンド

window.location = '<%=Url.Action("PaymentTool", "PaymentHistory") %>' + '/' + profile.id; 

とバックエンド

public ActionResult PaymentTool(string username, int? profileID) 

今、これが実行されている最初の時間のために素晴らしい作品。しかし、ページをリフレッシュせずにもう一度実行すると、問題が発生します。

私はこれを確認するために、それをログアウトしていると、それは例えば

PaymentHistory/PaymentTool/123/1234

のURLで終わる上に

'<%=Url.Action("PaymentTool", "PaymentHistory") %>'

は古い値を保持し、新たな価値を付加されたように思えます

正しい作業URLが

PaymentHistory/PaymentTool/1234の場合。

私はprofile.idからログアウトしました。これは毎回単一の数値であり、古い値を保存していません。

これは非常に奇妙なバグのようです。

+1

少しのコードで私たちは推測と推測しかできません。より多くのコードを表示し、問題を再現するのに役立ちます。 [Minimal、Complete、Verifiableの例の作成方法](https://stackoverflow.com/help/mcve) – tnw

+1

IDを追加する前に、あなたのURLを見て、 'PaymentTool /'の後に何かを切り捨てる必要があるかもしれません。 – tnw

+0

'<%' and '%>'の間のものはサーバー側のコードで、サーバーにアクセスしてクライアントに書き込むときに評価されます。したがって、「ページを更新せずにもう一度実行する」とすると、サーバーにアクセスしていないため、これは変更されません。 – James

答えて

2

うん、これはMSが「機能」と呼ぶ本当に迷惑バグ...あなたはルート属性を持っているなら、あなたはこれを使用する必要がある:

codeはの任意の名前である
Url.Action("myform", "testing", new { code = "" } 

ルート属性変数がコントローラにあります。あなたは新しいルートを作成するためにそれからちょっと遊ぶ必要があります。

関連する問題