2016-11-19 6 views
0

私はコントローラから渡すTempDataに基づいてjavascriptを実行しようとしています。razor cshtml javascriptが届かない

しかし、以下のコードをかみそりで使用すると、2番目のif文に到達します。私は、私が適切なかみそりの構文を使用していないと感じている。

@if (TempData["status"] != null) 
{ 
    <script type="text/javascript"> 
     var status = "@TempData["status"]"; 
     if (status == "customerAdded") { 
      swal("1!", "good", "success")    
     } 
     else { 

     }    
    </script> 
} 
+0

コンソールエラーが発生しましたか?まずコンソールログを確認してください。それからあなたが何かエラーを取得していない場合は、単にあなたのスクリプトタグ内の警告を入れてチェック、ポップアップかどうか? –

+0

@supertedあなたは私の答えを試しましたか? –

答えて

0

あなたはStringにTempDataを変換することができたり、他のデータ値をチェックするか、あなたがあなたのC#のデータに

0
あなたは Json.Encodeを使用する必要が

@Html.Rawをあなたのコードの実行を確認するために、あなたのjavascript内console.log("-");を使用したりすることはできませんあなたのスクリプトと互換性を持たせてください。

@if (TempData["status"] != null) 
{ 
    <script type="text/javascript"> 
     var status = '@Html.Raw(Json.Encode(TempData["status"]))'; // this is the change 
     if (status == "customerAdded") { 
      swal("1!", "good", "success")    
     } 
     else {    
     } 

    </script> 
}