在文档加载后的View内部运行脚本 - ASP.NET MVC3

时间:2013-10-28 06:06:45

标签: jquery asp.net asp.net-mvc-3

我的视图中有以下代码:

 @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>
      }
  }

在Chrome控制台中,它会记录 - “对象[对象对象]没有方法'模态'”。我理解它是因为jquery-ui.js没有在上面的代码执行时加载,因为当我在View加载后单独运行这段代码时,它运行正常:

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

那么,如何在加载所有js文件后执行它?非常感谢,我感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您可以尝试做的是,有一个隐藏的输入及其数据成功属性由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>