我的视图中有以下代码:
@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文件后执行它?非常感谢,我感谢任何帮助。
答案 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>