Benutzer mit den meisten Antworten
MasterPage, ModalPop und z-index Problem

Frage
-
Hallo allerseits!
Ich stehe weidermal vor einem Problem wo ich hoffe das ihr mir weiter helfen könnt.
Ich habe eine Masterpage, eine ASPX-Seite (Seite1) und einen ModalPopupExtender auf Seite1.
Die Masterpage hat 2 Links welche ich nach Aufruf von ModalPopupExtender auf Seite1 deaktivieren bzw. nicht zugänglich machen möchte.
Der ModalPopupExtender deaktiviert zwar die Seite1 auf dem diese aufgerufen wurde aber nicht die 2 links vom Masterpage.Wenn ich den Bereich auf der Masterpage Seite die CSS-Eigenschaft "z-index:0" und den DIV-Tag von Seite1 die CSS-Eigenschaft "z-index:1" hinzufüge dann funktioniert es zwar aber der Inhalt von Seite1 überlappt den Bereich vom Masterpage sobald man scrollt.
Ich möchte aber gern das der Bereich vom MasterPage den Body-Bereich (Inhalt) von Seite1 wie gewohnt überlappt und trotzdem nach aufruf vom ModalPopupExtender auf Seite1 den Bereich (die 2 Links) irgendwie nicht zugänglich machen.
Ich habe auch mit Session-Variablen versucht das Problem zu lösen in dem ich vor dem Aufruf vom ModalPopupExtender auf Seite1 eine Session-Variable befüllt habe und diese habe ich dann auf der Masterpageseite abgefragt da die Page_Load vom Masterpage Seite auch immer nach einem Postback aufgerufen, jedoch auch ohne Erfolg.
Wie kann ich das bewärkställigen?
Danke im vorraus undLg
S.R
Antworten
-
Hi,
Du solltest den ASP.NET Ajax Kram weglassen und bspw. jQueryUI einsetzen. Das ist zum einen erheblich einfacher zu verwenden und man quält sich nicht mit solchen Problemen wie dem von dir gerade festgestellten Übel rum.
http://jqueryui.com/demos/dialog/#modal-form
Das wäre wahrscheinlich in etwa das, was Du suchst.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert String.Rise Samstag, 28. Januar 2012 08:20
Alle Antworten
-
Hi,
Du solltest den ASP.NET Ajax Kram weglassen und bspw. jQueryUI einsetzen. Das ist zum einen erheblich einfacher zu verwenden und man quält sich nicht mit solchen Problemen wie dem von dir gerade festgestellten Übel rum.
http://jqueryui.com/demos/dialog/#modal-form
Das wäre wahrscheinlich in etwa das, was Du suchst.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert String.Rise Samstag, 28. Januar 2012 08:20
-
Hallo Stefan,
danke vorerst für deine Antwort jedoch habe ich noch einpaar Fragen.
1) JQuery würde das Problem nicht lösen da die JQuery-Funktion auch auf einer aspx aufgerufen wird der eine Masterpage hat.
Dann würde die JQuery-Funktion wiederum die aktuelle Website nicht zugänglich machen und die 2 Links wären weiterhin zugänglich, oder irre ich mich. Gilt JQuery für die gesamte Website samt Masterpage?2) Die Website ist in Mehrsprachig ausgelegt. Dazu lese ich im CodeBehind die entsprechende Language-xml und setzte die Text-Eigenschaft von den Labels usw. so fest. Geht das danach auch mit JQuery, so das ich den Text von Buttons, Labels usw. Dynamisch halten kann?
Danke und Lg
S.R.
-
Hi,
probiers doch einfach mal mit jQuery aus. Ich gehe davon aus, dass der ModalPopupExtender entweder einen Bug hat oder, falls gewollt, nur seinen eigenen Container deaktiviert, was aber ziemlich komisch wäre.
Mit dem jQueryUI Dialog hatte ich den von dir beschriebenen Effekt noch nie. Einzig, wenn Du mit "MasterPage" und "Seite" ein IFrame oder ein richtiges Frame meinst, könnte das passieren. Dann solltest Du aber eh die Struktur deiner Seiten überdenken.
Du gibst ja genau vor, was wie ausgegeben wird. Ergo kannst Du auch sämtliche Texte sprachspezifisch ausgeben.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
So, jetzt habe iich das nächste Problem.
Ich habe mal zu testTestzwecken ein neues Projekt erstellt um das JQuery mit dem Datapicker zu testen jedoch wird das nicht angezeigt.
Hier mal der Code:<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" /> <link href="~/Styles/jquery-ui-1.8.17.custom.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="~/Scripts/jquery-1.7.1.min.js"></script> <script type="text/javascript" src="~/Scripts/jquery-ui-1.8.17.custom.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $("#datepicker").datepicker() }); </script> <title></title> </head> <body> <form id="form1" runat="server"> <div><asp:TextBox ID="datepicker" runat="server" name="date" Width="300px" CssClass="textEntry" /></div> </form> </body> </html>
Habe das auch mit
$(document).ready(function () { $("input[id$='datepicker']").datepicker() });
und
$(document).ready(function () { $("
#<%= datepicker.ClientID %>
").datepicker() });probiert. Keines davon funktioniert. Die 3 Dateien
jquery-ui-1.8.17.custom.css
jquery-1.7.1.min.js
jquery-ui-1.8.17.custom.min.js
liegen auch da, warum funktioniert das nicht???Danke im vorraus
Lg S.R.- Bearbeitet String.Rise Samstag, 21. Januar 2012 11:26