2017-08-07 3 views
0

私はドロップダウンリストを持っています。私は任意の項目をクリックして、パラメータでビューをリダイレクトしたいと思います。コントローラに2つのパラメータを渡します。構文エラー

$(document).ready(function() { 
     $("#Languages").change(function() { 
      var selectedValue = $(this).find('option:selected').val(); 
       window.location.href = "/Survey/SelectLanguage/" + selectedValue+"/id/"[email protected]; 

     }); 
    }); 

コントローラでアクションメソッドは、次のとおり

public ActionResult SelectLanguage(string languageName, Guid id) 
    { 
    } 

しかし、私はエラーがあると、クロムデバッガに見られます。

Uncaught SyntaxError: Invalid or unexpected token 

私はコードwindow.location.href = "/Survey/SelectLanguage/" + selectedValue+"/id/"[email protected];をコメントアウトしています。

その後、エラーはなくなりました。だから間違っている?

答えて

0

変更

window.location.href = "/Survey/SelectLanguage/" + 
    selectedValue + "/id/" + @Model.CampaignGuid; 

CampaignGuidが本当にGuidある場合は、あなたのHTMLに"/id/" + d0164584-bac0-485b-8a84-b7923caa6ee7を書いている、とChromeのJavaScriptエンジンはd0164584-bac0-485b-8a84-b7923caa6ee7が何であるかを知りません、それは文字列である必要があります。

+0

404エラーが発生しました。 – Bigeyes

+0

@Bigeyesそれは別の問題です。これはあなたの 'Uncaught SyntaxError:Invalid or unexpected token'の問題を解決するはずです。 –

+0

私はコントローラのアクションコードがURLによって到達していないことを意味しています。 – Bigeyes

0

URLが定義されておらず、既定のルートを使用しているため、既定値はクエリ文字列に基づいています。 、あなたは、あなたがIDとしてCampingGuid使用することができ、その一部としてURLにid名前付き引数を渡すことができるのasp.net MVCのデフォルトルートをたどることにより

$(document).ready(function() { 
     $("#Languages").change(function() { 
      var selectedValue = $(this).find('option:selected').val(); 
       window.location.href = "/Survey/SelectLanguage/@Model.CampaignGuid?languageName=" + selectedValue; 
     }); 
    }); 

、およびlanguageNameクエリを使用することができます。これを試してみてください文字列。

window.location.href = "/Survey/SelectLanguage/" + 
    selectedValue + "/id/@Model.CampaignGuid"; 

+0

LANGUAGENAMEが最初のパラメータであるとして、あなたのURLを定義してください。 – Bigeyes

+0

私が言ったように、 'id'はデフォルトルートの観点からのURLの一部です。あなたはテストしましたか?エラーメッセージは何ですか? –

関連する問題