0

ユーザーが表示するデータ フィードを選択できるドロップダウンがあります。ユーザーが最初に URL を選択すると、私の URL は次のようになります。

http://localhost/DataFeeds/Viewer/1

2 番目の選択では、次のようになります。

http://localhost/DataFeeds/Viewer/1/2

それは明らかに正しくありません。をに1置き換える必要があり2ます。

これを引き起こすコードは次のとおりです。

$('select#ID').change(function () {                
    window.location.replace("@Url.Action("Viewer", "DataFeeds")/" + $(this).val());
});

私はすでに試しました

window.location.href = "@Url.Action("Viewer", "DataFeeds")/" + $(this).val();

しかし、それは同じことをします。

すべての提案に感謝します。

4

2 に答える 2

1

次の応答は間違っています。window.location.replace() はリダイレクトします、私の悪いです!

実際には、window.location.replace() は window.location = url と同じですが、replace() はブラウザの履歴から古い場所を削除するため、戻るボタンを使用できないという小さな違いがあります。


悪い反応:

代入ではなく置換しています

window.location = window.location.replace("@Url.Action("Viewer", "DataFeeds")/" + $(this).val());


// This does not redirect it just grabs the string of the location and modifies it
window.location.replace("@Url.Action("Viewer", "DataFeeds")/" + $(this).val());

// is the same as doing
var redirectTo = window.location.replace("@Url.Action("Viewer", "DataFeeds")/" + $(this).val());

// you still need to do
window.location = redirectTo;

でも

あなたが言ったように機能しない場合は、replace("@Url.Action("Viewer", "DataFeeds")/" + $(this).val()); 欠陥があります。

于 2013-07-09T22:36:13.427 に答える