我继承了一个我需要增强的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
}
答案 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>
}