Benutzer mit den meisten Antworten
DIV PopUp Parent-Page deaktivieren

Frage
-
hallo leuts
in eine aps.net Webanwendung habe ich mit div ein Popup fenster eingebaut.
Problem: wenn der Popup fenster geöffnet ist, soll die Parent-Page deaktiviert werden.
AJAX und JQuery sind nicht wewünscht.
kann man dies in C# oder asp.net realisieren oder mit javascript.
<div id="divArtikel" runat="server" style="border: 1px solid #000000; height: 700px; width: 1000px; z-index: 11000; left: 0px; top: 0px; background-color: #FFFFFF; position: relative;" > <asp:UpdatePanel id="udpArtikel" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:Label ID="lblCloseArtikel" runat="server" Font-Bold="True" ForeColor="#C00000" Text="Schliesen [x]" style="z-index: 1; right: 0px; top: 0px; position: absolute; height: 5px;"> </asp:Label> ... ...
function HideDivArtikel() { div = document.getElementById('<%=divArtikel.ClientID%>'); div.style.visibility = 'hidden'; }
lblCloseArtikel.Attributes.Add("onclick", "HideDivArtikel();"); lblCloseArtikel.Attributes["style"] += "cursor:pointer;cursor:hand;";
Antworten
-
eine einfache lösung habe ich gefunden
ich werde es anpassen und Feedback geben
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="FS_Hardware.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> <style > #blanket { background-color:#111; opacity: 0.65; filter:alpha(opacity=65); width:100%; } #popUpDiv { background-color:#eeeeee; width:300px; height:300px; </style> <script type="text/javascript"> function toggle(div_id) { var el = document.getElementById(div_id); if ( el.style.display == 'none' ) { el.style.display = 'block';} else {el.style.display = 'none';} } function blanket_size(popUpDivVar) { if (typeof window.innerWidth != 'undefined') { viewportheight = window.innerHeight; } else { viewportheight = document.documentElement.clientHeight; } if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) { blanket_height = viewportheight; } else { if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) { blanket_height = document.body.parentNode.clientHeight; } else { blanket_height = document.body.parentNode.scrollHeight; } } var blanket = document.getElementById('blanket'); blanket.style.height = blanket_height + 'px'; var popUpDiv = document.getElementById(popUpDivVar); popUpDiv_height=blanket_height/2-150;//150 is half popup's height popUpDiv.style.top = popUpDiv_height + 'px'; } function window_pos(popUpDivVar) { if (typeof window.innerWidth != 'undefined') { viewportwidth = window.innerHeight; } else { viewportwidth = document.documentElement.clientHeight; } if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) { window_width = viewportwidth; } else { if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) { window_width = document.body.parentNode.clientWidth; } else { window_width = document.body.parentNode.scrollWidth; } } var popUpDiv = document.getElementById(popUpDivVar); window_width=window_width/2-150;//150 is half popup's width popUpDiv.style.left = window_width + 'px'; } function popup(windowname) { blanket_size(windowname); window_pos(windowname); toggle('blanket'); toggle(windowname); } </script> </head> <body> <form id="oForm" runat="server"> <div id="blanket" style="display:none;"></div> <div id="popUpDiv" style="display:none;"> <a href="#" onclick="popup('popUpDiv')">Click Me To Close</a> </div> <a href="#" onclick="popup('popUpDiv')">Click Here To Open The Pop Up</a> </form> </body> </html>
Guten MorgenMit Masterpage ist der Code nicht anwendbar, da nur die Steuerelemente der Kindseite verdeckt werden.
Die Controls der Masterpage bleiben aktive.
Eine Lösung wäre die Controls der Master in dem Designer auf Public zusetzten und dann manauel mit Visible
zu deaktvieren, (Prof. ist das leider nicht) wenn man auch viel Controls auf die Master hat.
Alle Antworten
-
Hi,
das geht nur clientseitig, also nur per JavaScript/CSS. Und darum kannst Du auch gleich sinnvollerweise jQueryUI Dialog verwenden, da ist das schon integriert.
Serverseitig geht da gar nichts.
Wenn jQuery nicht eingesetzt werden kann (dann wüsste ich aber gerne, warum) schau mal hier:
https://developer.mozilla.org/en/DOM/window.open
http://msdn.microsoft.com/en-us/library/ms536759.aspx
http://www.modalpopups.com/blog/
...
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 -
Moin aller Seits
Danke Stefan für deine Antwort, ich habe die Link durchgelsen, hier bezieht sich alles auf ein popup-window.
in mein Fall verwende ich aber ein DIV die ein und ausgeblendet wird, also nicht wirklich ein neues Fenster.
nun suche ich ein änlichen code wie
<script> var popupWindow=null; function popup(){ popupWindow = window.open('child_page.html', bla bla bla); } function parent_disable() { if(popupWindow && !popupWindow.closed) popupWindow.focus(); } </script>
was auch für div verwendbar ist
beste Grüsse
Lubb
-
Hi,
ein Popup ist in der Regel was anderes, eben genau window.open( ... )
Und um das von dir gewünschte zu realisieren, ist jQueryUI mit dem Dialog Widget genau das richtige.
Daher nochmal die Frage: Warum soll jQueryUI hier nicht eingesetzt werden?
Beispiele für das gewünschte findest Du zuhauf:
http://www.google.de/#q=show+modal+div
Allerdings musst Du dich dann auch selbst um die Eigenheiten sämtlicher Browser (inkl. der unterschiedlichen Versionen) kümmern.
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 -
hallo wieder,
beim googeln habe ich folgender code gefunden
http://www.javascripttoolbox.com/lib/popup/example.php
<div id="modal" style="border:3px solid black; background-color:#9999ff; padding:25px; font-size:150%; text-align:center; display:none;"> This is a modal popup!<br><br> <input type="button" value="OK" onClick="Popup.hide('modal')"> </div> <a href="#" onclick="Popup.showModal('modal');return false;">Show Modal Popup</a> <br> <a href="#" onclick="Popup.showModal('modal',null,null,{'screenColor':'#99ff99','screenOpacity':.6});return false;">Show Modal Popup With A Custom Screen</a>
Leider in meiner Anwendung kommt es zu laufzeit fehler, ich muss es noch anpassenjQueryUI kann ich leider nicht, auserdem die Lösung soll in andern Anwendungen auch eingesetzt werden, was vermütlich zu grossen Aufwand verursachen wird und eine Genemigung für jQueryUI vom unternehmen wird ich auch noch bantragen mussen.
-
Hi,
warum das von dir gefundene Beispiel in deiner Anwendung nicht funktioniert, kann ich ohne die (genaue und vollständige) Fehlermeldung zu kennen, leider nicht sagen.
jQuery ist mittlerweile in der Regel akzeptiert, da es eben eine Standardlibrary ist, die u.a. von Microsoft Visual Studio automatisch eingebunden wird, wenn man ein eines ASP.NET Projekt mit entsprechendem Projekttyp anlegt.
Da Du dir ansonsten mehr oder weniger passende JavaScript Krücken bauen musst, der Testaufwand in allen unterstützten Browsern auch nicht zu unterschätzen ist und die Ausrede "jQueryUI kann ich nicht" nicht gilt (denn wenn man nicht will, muss man für kleine Sachen wie einen Dialog auch nicht wirklich was zu jQuery lernen), habe ich dir mal ein Beispiel gemacht.
Beispielprojekt zur Verwendung des jQueryUI Dialog Widgets
Im Endeffekt musst Du hier nur 2 JS Dateien einbinden (jQuery und jQueryUI), eine CSS Datei (jQueryUI, damits auch ein wenig hübsch aussieht) und dann einen einzigen JavaScript Aufruf bauen, damit der DIV Container als Dialog verwendet werden kann. Das wars dann auch schon.
Das sollte sich problemlos in anderen Projekten/Anwendungen einsetzen lassen.
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 -
Hallo stefan
Danke schön erstmal, die Dateien habe ich eingebunden
Die gute Nachricht es geht, leider wir aber nur ein Teil der Webseite garu und nur die Steuerelemnte der masterseite
sind inaktive die Defaultseite nicht also der user kann auf die Schaltfläschen der Defaultseite zugreifen wenn der div-Popup auf ist.
auch wenn user der div schliesst, bleibt trotzdem die Seite grau.
für den code
<div id="modal" style="border:3px solid black; background-color:#9999ff; padding:25px; font-size:150%; text-align:center; display:none;"> This is a modal popup!<br><br> <input type="button" value="OK" onClick="Popup.hide('modal')"> </div> <a href="#" onclick="Popup.showModal('modal');return false;">Show Modal Popup</a> <br> <a href="#" onclick="Popup.showModal('modal',null,null,{'screenColor':'#99ff99','screenOpacity':.6});return false;">Show Modal Popup With A Custom Screen</a>
bekomme ich die fehlermeldung "Laufzeitfehler in Microsoft JScript: Popup ist undefiniert "
-
noch mal um sicher zugehen, ob ich die Dateien richtig eingebunden habe
die Dateien habe ich in Projekt ordner kopiert und in den Header den Link
<script src="AppCode/jquery.js" type="text/javascript"></script>
zugefügt
- Bearbeitet Robert BreitenhoferModerator Dienstag, 14. Februar 2012 17:42 Formatierung
-
Hi,
Die gute Nachricht es geht, leider wir aber nur ein Teil der Webseite garu und nur die Steuerelemnte der masterseite
Ich frag mich, was ihr da alle macht!? Hier gibt es einen Thread, in dem der User ein ähnliches Problem beschreibt (nur umgekehrt, allerdings auch nicht mit jQuery)
sind inaktive die Defaultseite nicht also der user kann auf die Schaltfläschen der Defaultseite zugreifen wenn der div-Popup auf ist.
auch wenn user der div schliesst, bleibt trotzdem die Seite grau.
bekomme ich die fehlermeldung "Laufzeitfehler in Microsoft JScript: Popup ist undefiniert "
Nuja, wo sollte "Popup" auch herkommen? Du hast es ja auch nirgends definiert.
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 -
einel einfach lösung habe ich gefunden
ich werde es anpassen und Feedback geben
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="FS_Hardware.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> <style > #blanket { background-color:#111; opacity: 0.65; filter:alpha(opacity=65); position:absolute; z-index: 9001; top:0px; left:0px; width:100%; } #popUpDiv { position:absolute; background-color:#eeeeee; width:300px; height:300px; z-index: 9002; </style> <script type="text/javascript"> function toggle(div_id) { var el = document.getElementById(div_id); if ( el.style.display == 'none' ) { el.style.display = 'block';} else {el.style.display = 'none';} } function blanket_size(popUpDivVar) { if (typeof window.innerWidth != 'undefined') { viewportheight = window.innerHeight; } else { viewportheight = document.documentElement.clientHeight; } if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) { blanket_height = viewportheight; } else { if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) { blanket_height = document.body.parentNode.clientHeight; } else { blanket_height = document.body.parentNode.scrollHeight; } } var blanket = document.getElementById('blanket'); blanket.style.height = blanket_height + 'px'; var popUpDiv = document.getElementById(popUpDivVar); popUpDiv_height=blanket_height/2-150;//150 is half popup's height popUpDiv.style.top = popUpDiv_height + 'px'; } function window_pos(popUpDivVar) { if (typeof window.innerWidth != 'undefined') { viewportwidth = window.innerHeight; } else { viewportwidth = document.documentElement.clientHeight; } if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) { window_width = viewportwidth; } else { if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) { window_width = document.body.parentNode.clientWidth; } else { window_width = document.body.parentNode.scrollWidth; } } var popUpDiv = document.getElementById(popUpDivVar); window_width=window_width/2-150;//150 is half popup's width popUpDiv.style.left = window_width + 'px'; } function popup(windowname) { blanket_size(windowname); window_pos(windowname); toggle('blanket'); toggle(windowname); } </script> </head> <body> <form id="oForm" runat="server"> <div id="blanket" style="display:none;"></div> <div id="popUpDiv" style="display:none;"> <a href="#" onclick="popup('popUpDiv')">Click Me To Close</a> </div> <a href="#" onclick="popup('popUpDiv')">Click Here To Open The Pop Up</a> </form> </body> </html>
-
..., habe ich dir mal ein Beispiel gemacht.
Beispielprojekt zur Verwendung des jQueryUI Dialog Widgets
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
Ich glaube das Problem hier ist, das JQuery in ASP nicht so einfach zu verwenden ist wie bei HTML.
Mit HTML funktioniert JQuery, zumindest bei den von mir geposteten Beitrag bzgl. JQuery-Datepicker und Modal-Popup Problem.
In ASP funktioniert es nicht aber in HTML doch. Strange!!!
Vielleicht wäre es besser gewesen ein Sample in ASP mit MasterPage bereit zu stellen statt in HTML.
Das würde einigen hier weiter helfen mich inklusive.
Lg
S.R- Bearbeitet String.Rise Montag, 23. Januar 2012 22:06
-
Hi,
ich baue das Beispiel mal um. Das wird aber nichts ändern, denn das läuft genauso (mach ich ja seit Jahren so und ich verwende natürlich auch MasterPages)
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 -
eine einfache lösung habe ich gefunden
ich werde es anpassen und Feedback geben
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="FS_Hardware.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> <style > #blanket { background-color:#111; opacity: 0.65; filter:alpha(opacity=65); width:100%; } #popUpDiv { background-color:#eeeeee; width:300px; height:300px; </style> <script type="text/javascript"> function toggle(div_id) { var el = document.getElementById(div_id); if ( el.style.display == 'none' ) { el.style.display = 'block';} else {el.style.display = 'none';} } function blanket_size(popUpDivVar) { if (typeof window.innerWidth != 'undefined') { viewportheight = window.innerHeight; } else { viewportheight = document.documentElement.clientHeight; } if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) { blanket_height = viewportheight; } else { if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) { blanket_height = document.body.parentNode.clientHeight; } else { blanket_height = document.body.parentNode.scrollHeight; } } var blanket = document.getElementById('blanket'); blanket.style.height = blanket_height + 'px'; var popUpDiv = document.getElementById(popUpDivVar); popUpDiv_height=blanket_height/2-150;//150 is half popup's height popUpDiv.style.top = popUpDiv_height + 'px'; } function window_pos(popUpDivVar) { if (typeof window.innerWidth != 'undefined') { viewportwidth = window.innerHeight; } else { viewportwidth = document.documentElement.clientHeight; } if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) { window_width = viewportwidth; } else { if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) { window_width = document.body.parentNode.clientWidth; } else { window_width = document.body.parentNode.scrollWidth; } } var popUpDiv = document.getElementById(popUpDivVar); window_width=window_width/2-150;//150 is half popup's width popUpDiv.style.left = window_width + 'px'; } function popup(windowname) { blanket_size(windowname); window_pos(windowname); toggle('blanket'); toggle(windowname); } </script> </head> <body> <form id="oForm" runat="server"> <div id="blanket" style="display:none;"></div> <div id="popUpDiv" style="display:none;"> <a href="#" onclick="popup('popUpDiv')">Click Me To Close</a> </div> <a href="#" onclick="popup('popUpDiv')">Click Here To Open The Pop Up</a> </form> </body> </html>
Guten MorgenMit Masterpage ist der Code nicht anwendbar, da nur die Steuerelemente der Kindseite verdeckt werden.
Die Controls der Masterpage bleiben aktive.
Eine Lösung wäre die Controls der Master in dem Designer auf Public zusetzten und dann manauel mit Visible
zu deaktvieren, (Prof. ist das leider nicht) wenn man auch viel Controls auf die Master hat. -
Hi,
Mit Masterpage ist der Code nicht anwendbar, da nur die Steuerelemente der Kindseite verdeckt werden.
Die Controls der Masterpage bleiben aktive.es gibt keine "Kindseite". Zumindest nicht für den Browser. Wenn Du einfach nur eine Master- und eine ContentPage, jeweils ohne Frame/IFrame hast, erhält der Browser genau eine Seite zurück.
Eine Lösung wäre die Controls der Master in dem Designer auf Public zusetzten und dann manauel mit Visible zu deaktvieren, (Prof. ist das leider nicht) wenn man auch viel Controls auf die Master hat.
Sicher nicht, da das einzig und allein serverseitig passiert. Soweit kommst Du aber an der Stelle gar nicht.
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 -
Hi,
Vielleicht wäre es besser gewesen ein Sample in ASP mit MasterPage bereit zu stellen statt in HTML.
Das würde einigen hier weiter helfen mich inklusive.Beispielprojekt zur Verwendung des jQueryUI Dialog Widgets (ASP.NET MasterPage)
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 -
da hast du recht stefan
Mit Masterpage ist der Code nicht anwendbar, da nur die Steuerelemente der ContentPage verdeckt werden.
Die Controls der Masterpage bleiben aktive.(Eine Lösung wäre die Controls der Master in dem Designer auf Public zusetzten und dann manauel mit Visible) nicht möglich da die Designer-datei automatisch generiert wird und änderungen zurürck gestetzt werden.
In der Master verwende ich keine Frames sondern Tabellen, Web-Controls und ( ContentPlaceHolder für die ContentPage-Inhalte)
<asp:Table ID="Table1" runat="server" Width="100%"> <asp:TableRow> <asp:TableCell Width="33%"></asp:TableCell> <asp:TableCell HorizontalAlign="Center" VerticalAlign="Top" Width="33%"> <asp:Label ID="lblHeadline5" runat="server" Style="z-index: 100; width: 200px; height: 32px;" Text="F/S - IT" Font-Size="XX-Large" Font-Bold="True"></asp:Label> </asp:TableCell> <asp:TableCell Width="33%"></asp:TableCell> </asp:TableRow> <asp:TableRow> <asp:TableCell HorizontalAlign="Left" VerticalAlign="Middle"> <div id ="Kiste"> <asp:Table ID="Table2" runat="server" Width="100%"> <asp:TableRow> ... ... <asp:TableCell> </asp:TableCell> </asp:TableRow> </asp:Table>
-
Hi,
denn Sinn des letzten Postings habe ich nicht wirklich verstanden.
Nimm das Beispiel, schau, ob es bei dir funktioniert (sollte es) und bau das dann in deinem Projekt nach. Alles andere ist nicht zielführend.
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 -
Hallo!
Vorerst danke für das Sample. jetzt funktioniert es im großen und ganzen.
Allerdings hätte ich noch eine letzte Frage.
Kann man auch asp:LinkBUttons statt HTML input type="button" verwenden da man die LinkButtons besser gestalten kann.
Ich bekomme egal was ich mache mit dem folgenden Code
<asp:LinkButton ID="lnkCreate" CssClass="BL12" style="font-size:16px; font-weight:bold;" CausesValidation="false" runat="server" OnClick="$( 'div#divNew' ).dialog( 'open' );" CommandName="CreateNew" Width="300px" />
die Fehlermeldung
"Unerwartetes Zeichen $"Liegt es daran das LinkButton Server seitig arbeitet?
Danke im vorraus
-
Hi,
<asp:LinkButton ... onclick="hallo()" /> sucht eine serverseitige Methode "hallo". Die gibt es ja aber nicht. Verwende dafür das OnClientClick Attribut.
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
- Bearbeitet Stefan FalzModerator Sonntag, 29. Januar 2012 00:24
-
Hallo Stefan,
danke vorerst für deine Antwort. Allerdings wenn ich das jQuery-Dialog mit OnClintClick starte wird es nach 2 sek. gleich wieder geschlossen.Mit
OnClientClick="return false;"
und
$('#<%=lnkTest.ClientID %>').click(function () { $('div#Test1').dialog('open'); });
funktioniert es.
Danke aber für den Tipp!
Lg -
Hi,
danke vorerst für deine Antwort. Allerdings wenn ich das jQuery-Dialog mit OnClintClick starte wird es nach 2 sek. gleich wieder geschlossen.
Mit OnClientClick="return false;" ...
das wichtige hast Du doch schon gefunden. return false; solltest Du im OnClientClick Attribut nach dem Aufruf des Dialogs angeben, ansonsten wird dann noch der PostBack durchgeführt und daher die Seite neu aufgebaut.
Ich frage mich nur ehrlich, warum Du einen LinkButton dafür nehmen willst, wenn kein PostBack gewünscht ist. Dann kannst Du auch einfach einen normalen HyperLink nehmen. Das Prinzip ist aber dasselbe. Wenn Du ein Control verwendest, welches einen PostBack oder Link auslöst, musst Du nach dem Aufruf des Dialogs noch return false; anhängen.
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 -
..., wenn kein PostBack gewünscht ist. Dann kannst Du auch einfach einen normalen HyperLink nehmen.
... der normale input:Button würde zum Layout nicht passen daher ein LinkButton oder Hyperlink.
So, das hört sich jetzt wahrscheinlich blöd an aber ich habe eine allerletzte Frage. Tut leid aber ich versuche das zusammenspiel mit jQuery dadurch besser zu verstehen. Und ich möchte den ganzen Ablauf (anzeige, eingabe und auswertung) in einem Testprojekt getestet haben bevor das auf der Seite eingebunden wird.
Ich habe in einem DIV welches ich im jQuery-Dialog angezeigt wird, einige Labels, Textboxen, RequiredFieldValidators und 2 LinkButtons (Speichern, Abbrechen) statt die Buttons vom jQuery.
Wenn ich jetzt auf Speichern klicke wird die btnSave_Click Methode zwar aufgerufen aber alle values von den Eingabefelder sind leer.
Jedoch wenn ich auf die values mittels
alert($('#<%= txtTest.ClientID %>').val());
zugreife sind die Werte da. Aber ich brauche die values im Codebehind da ich dort einige Aktionen wie speichern auf mehrere Tabellen, Text- und Datumsüberprüfungen usw. durchführen muss.
Die Controls sind mit runat="server" definiert.
Liegt es daran das diese im jQuery-Dialog- als Client-Controls angezeigt wird oder leert das jQuery-Dialog die Felder bevor die Methode btnSave_Click aufgerufen wird.
Wie kann ich auf die Werte zureifen.
Wäre für jede weiterführende Hilfe sehr dankbar
@lubb
sry das ich deinen Beitrag weiter verwende. Ich wollte halt keinen neuen Thread erstellen da es hier am besten passt.
Lg
S.R