2010-01-06 11 views
8

Was ich versuche zu tun, ist ein bisschen wiederverwendbaren Code, der ein modales Popup schreiben kann, entweder durch Javascript oder mit dem ajaxcontrol Toolkit alle aus dem Code dahinter.ASP.NET modales Popup, vollständig von Code zurück?

Das Modal wäre eine Art Login-Popup für die Kontrolle des Zugriffs auf Bereiche mit eingeschränkter Benutzerfreundlichkeit der Website, die bestimmten Benutzern die erneute Anmeldung für einen höheren Zugriff ermöglicht.

Ich dachte daran, eine Benutzerkontrolle zu machen, aber ich sehe einige Probleme damit, alle geeigneten Informationen weiterzugeben, ohne dass es komplett hoozy ist.

Wenn jemand gute Links oder Ratschläge dafür hat, würde es sehr geschätzt werden!

Danke!

EDIT: Ich weiß, wie man das Ajax Control Toolkit und seine Steuerelemente verwendet, und ich weiß, wie man Anmeldebildschirme macht, ich frage, wie man dies vollständig aus dem Code hinter einer Klasse macht, die unabhängig davon wäre Umsetzung

+0

Ich möchte nicht mein Beglaubigungs wieder zu einem beliebigen Server-Funktion hinzufügen eingeben. Könnten Sie mir nicht einfach eine Admin-Rolle geben und die Autorisierung in Ihrem Code behandeln? – DOK

+0

@DOK: Es gibt Szenarien, in denen das Unternehmen vorschreibt, dass der Benutzer die Anmeldeinformationen erneut als eine Art digitale Abmeldung bereitstellen muss. Dies ist in medizinischen/klinischen Systemen ziemlich üblich. –

+0

Wim traf den Nagel auf den Kopf, Gesundheits-Programmierung: D – Jimmy

Antwort

3

schreiben Server-Steuerelement oder ein asp.net Extendersteuerelement wie aJAX Control Toolkit tut.

Das Beste, was Sie tun können, ist die Quelle AjaxControlToolkit from CodePlex herunterladen und erkunden Sie die Quelle von ModalPopup darin.

+0

habe nicht darüber nachgedacht, wird es – Jimmy

+0

das sieht ziemlich vielversprechend aus, vielen Dank, ich benutze das folgende Tutorial und so weit so gut: http://www.asp.net/learn/Ajax-Control-Toolkit/tutorial-49-cs.aspx – Jimmy

+0

+1 für den Quelllink – Maslow

0

Der Modalpopupxtender im Ajax Control Toolkit ist einfach zu bedienen, außerdem hat er eine Server- oder Client-Methode zum Anzeigen des Popups (in früheren Versionen hatte ich Probleme mit der serverseitigen Methode, wurde aber möglicherweise behoben in der aktuellen Version).

Sie konnten die ModalPopupExtender innerhalb der Masterseite setzen, und eine JS-Methode in der Masterseite erstellen Sie aufrufen können, die modale Popup-Extender aufzurufen, wie:

Funktion showpopup() { var modal = $ finden ("<% = mpe1.ClientID%>"); modal.show(); }

Der Inhalt des Popup kann durch Javascript ersetzt werden, da Sie diesen Inhalt kontrollieren.

2

Eine andere Sache, die Sie tun können, ist einfach den PopupExtender aufrufen, um aus dem Code hinter der Datei anzuzeigen. Wie wir wissen, muss der Extender irgendwie mit einem Zielsteuerelement verknüpft werden, fügen Sie einfach ein Dummy - Steuerelement als verstecktes Textfeld hinzu (eigentlich um das Steuerelement auszublenden, tun Sie es aus der ASP - Datei, wie style = "display: none" nicht aus Steuereigenschaften (sichtbar = falsch), sonst wird es nicht funktionieren, und dann rufen Sie einfach aus dem Code hinter dem Extender wie folgt:

DummyTextBox_ModalPopupExtender.Show();

Sie können es in der page_load oder mit einem anderen Trigger aufrufen.

Keine Notwendigkeit Javascript weder Client-Seite, nur, Server-Seite. XDS.

0

BehaviorID="my_cool_id" zu Ihrem Modalpopup Extender hinzufügen und diese

ScriptManager.RegisterStartupScript(Page, this.GetType(),"id","function pageLoad(){$find('my_cool_id').show();}",true);