Ich erbte eine ASP.Net WebPages mit Razor-Projekt, das ich verbessern muss. Beim Post muss ich überprüfen, ob der Benutzer einen Fragebogen ausgefüllt hat, und wenn nicht, öffne einen Dialog und sage ihm, dass er ihn vervollständigen soll, bevor er ihn auf die Fragebogenseite weiterleitet. Die Zustandsprüfung funktioniert ebenso wie die Antwort.Redirect. Der Popup-Code, den ich von here bekommen habe, funktioniert nicht. Irgendwelche Ideen. Hier ist der Code:Modal Pop-up funktioniert nicht
Im Kopf des doc, ich habe dies:
<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>
und im Körper:
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
}
Leider ist verwirrend scheint. Es scheint, dass Sie versuchen, basierend auf der Bedingung ein Markup auf der Seite auszugeben, aber dann sofort auf eine andere Seite umzuleiten, anstatt die aktuelle Seite mit neuem Markup zurückzugeben. Wie erwarten Sie, dass das funktioniert? – Andrei
Ich versuche den Benutzer zu benachrichtigen, dass er Änderungen auf einer anderen Seite vornehmen muss, bevor er sie dorthin leitet, um die Änderungen vorzunehmen. Ich werde es ihnen überlassen, hierher zu navigieren, wenn sie dort fertig sind. –
Aber das ist nicht, was Code dann tut. Dies ist wiederum nur auf der Serverseite, sodass Sie sofort umleiten. Was Sie vielleicht tun möchten, ist, diese Antwort zu entfernen. Redirect, zurück das Markup mit dem Skript, und dann auf der Client-Seite zeigen Sie das Popup und leiten Sie dorthin um – Andrei