模态弹出不起作用

时间:2016-10-27 20:57:40

标签: javascript jquery razor asp.net-webpages

我继承了一个我需要增强的Razor项目的ASP.Net WebPages。在帖子上,我需要检查用户是否填写了调查问卷,如果没有,则弹出一个对话框,告诉他们在将问题重定向到调查问卷页面之前完成调查。条件检查和Reponse.Redirect一样有效。我从here获得的弹出代码没有。有任何想法吗。这是代码:

在文档的负责人中,我有这个:

<link href="~/Content/jquery-ui-1.12.1.css"  rel="stylesheet" type="text/css" >
<script src="~/Scripts/jquery-1.12.4.js"></script>
<script src="~/Scripts/jquery-ui-1.12.1.js"></script>

并在身体中:

if (IsPost && !questionnaireCompleted)  // this works
{
<div id="dialog" title="Incomplete Questionnaire">
    <p>You must complete the questionnaire before you can save!</p>
</div>

<script type="text/javascript">
    $(function () {
        $("#dialog").dialog();
    });
</script>

    Response.Redirect("~/Sections/Questionnaire?id=" + id); // this works
}

3 个答案:

答案 0 :(得分:0)

您可能需要切换div标签和脚本标签,因为脚本/功能在实际模态之前加载。

答案 1 :(得分:0)

您是否包含这些脚本和css:

<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

答案 2 :(得分:0)

使用辅助函数:

@helper SectionCheck( string id )
{
<div>
    <div id="dialog" title="Incomplete MRB Form" data-param="@id">
        <p>You must complete the questionnaire before you can save!</p>
    </div>

    <script type="text/javascript">
        $(function () {
            var ID = document.getElementById('dialog').getAttribute(['data-param']);
            $("#dialog").dialog({
                modal: true,
                buttons: {
                    "OK": function () {
                        $(this).dialog("close");
                        window.location = "MRB?id=" + ID;
                    }
                }
            });
        });
    </script>
</div>
}