3

null でないtoastr場合は (別名ポップアップ)を表示したいと思います。TempDataただし、jQuery と Razor の構文を一緒に統合するのに問題があります。これは私の現在のJavaScriptです:

$(document).ready(function() {
        if (@TempData["SuccessMessage"] != null) {
            toastr.options = {
                "closeButton": true,
                "positionClass": "toast-bottom-right"
            }
            toastr.success("This is a test!");
        }
});

ただし、トースターは表示されません。私はすでに TempData をさらにチェックして、ユーザーにテキストを表示しています。

@if (TempData["SuccessMessage"] != null)
{
    <div class="success-message">
        @Html.Raw(@TempData["SuccessMessage"].ToString())
    </div>
}

別の方法として、上記のマークアップを使用して、この div が存在するかどうかを確認し、存在する場合は toastr を表示するかどうか疑問に思っています。それとも、2 つのチェックを 1 つに統合できますか? 提案?

4

5 に答える 5

6

次のコードで動作させることができました。

$(document).ready(function() {
    var success = @((TempData["SuccessMessage"] != null).ToString().ToLower());

    if (success == true) {
        toastr.options = {
            "closeButton": true,
            "positionClass": "toast-bottom-right"
        }
        toastr.success("Success!  You're now registered for Lose A Ton!");
    }
});

好奇心旺盛な人のためにToLower()、TempData はTrueorFalseではなく常にtrueorを返すため、呼び出す必要がありfalseました。この理由については、こちらで説明しています

于 2015-05-12T12:03:22.433 に答える
1

以下に示すJqueryのTempData値。

$(document).ready(function () {
    var tempdataval = '@TempData["Value"]';
    if (tempdataval != null && tempdataval != '') {
        alert(tempdataval);
    }
});
于 2015-11-23T11:49:12.477 に答える
0
@if (TempData["SuccessMessage"] != null) {
    <script>
       $(document).ready(function() {
            toastr.options = {
                "closeButton": true,
                "positionClass": "toast-bottom-right"
            }
            toastr.success("This is a test!");     
      });
   </script>
 }
于 2015-05-05T16:37:06.527 に答える