0

ビューに以下のコードがあります。

 @if (TempData["Success"] != null)
  {
    if ((bool)TempData["Success"] == true)
      {
       <script type="text/javascript">@Html.Raw("ShowUIModal('Success','Message Successfully Sent!');") </script>
      }
    else
      {
       <script type="text/javascript">@Html.Raw("ShowUIModal('Message sending Failed!!', 'Please try again!');") </script>
      }
  }

クロムコンソールでは、「オブジェクト[オブジェクトオブジェクト]にはメソッド「モーダル」がありません」というログが記録されます。ビューがロードされた後にこのコードを個別に実行すると、正常に動作するため、上記のコードが実行されたときに jquery-ui.js がロードされていないため、そこにあることを理解しています。

ShowUIModal('Message sending Failed!!', 'Please try again!');   // it works fine after page loads.

では、すべてのjsファイルがロードされた後、どうすれば実行できますか? よろしくお願いします。

4

1 に答える 1

3

あなたがしようとすることができるのは、非表示の入力とそのデータ成功属性を TempData オブジェクトによって設定してから、Jquery または JavaScript を介して DOM の準備ができてそれを取得し、モーダル ポップアップを表示することです。

<input type = "hidden" id="Status" data-success = @TempData["Success"]></input>

ページの head セクションにある scripts タグで、

<script>
$(document).ready(function(){
var status = $('#Status').attr('data-success');
if(status == true){
// Your - ShowUIModal() here
}
else
{
// Your else code here
}
});
</script>
于 2013-10-28T07:27:16.277 に答える