JS/asp.NET :: Modales Popup
Nachdem ich ja bereits das “puristische” modale Popup beschrieben habe, hier nun die elegantere Lösung.
Zunächst benötigen wir ein einfaches Javascript, dass wir im Head-Bereich der aufrufenden Seite platzieren:
<script type=“text/javascript“>
function Dialog()
{
var ret=window.showModalDialog(“popup.aspx”,window, ↙
“dialogHeight: 500px; dialogWidth: 800px; status: No; center:yes”
);if (ret == “1″)
{
document.location.href = document.URL;
}
}
</script>
Der Aufruf dieses modalen Popups kann über zwei Wege erfolgen:
- per Link im html-Quelltext:
<a href=”javascript:void(0);” onClick=”Dialog();”>Popup öffnen</a>
- per Aufruf durch einen <asp:Button>:
Um den Aufruf durch einen <aps:Button> zu realisieren muss dem Button ein Attribut zugewiesen werden:
protected void Page_Load(object sender, EventArgs e)
{
myButton.Attributes.Add(“onClick”, “javascript:Dialog();”);
}
Dieses Attribut bewirkt nun, dass beim Klicken des Buttons das Javasript Dialog() aufgerufen werden.
Hinweis:
In der aufgerufenen Seite (also im Popup) sollte im Head folgender Tag platziert werden:
<base target=“_self”/>
Wenn der Tag fehlt, öffnet jeder Link und jeder Klick auf einen Button ein neues Browserfenster ausserhalb unseres modulen Popups.
mherbert