2010-01-06 3 views
8

Quello che sto cercando di fare è creare un po 'di codice riusabile in grado di scrivere un popup modale, sia tramite javascript che utilizzando il toolkit ajaxcontrol tutto dal codice sottostante.popup modale ASP.NET, interamente dal codice sottostante?

Il modale sarebbe una sorta di accesso pop-up per controllare l'accesso alle aree più ristrette del sito Web consentendo a determinati utenti di re-credenziali per un accesso più elevato.

Stavo pensando di fare un controllo utente, ma ho dei problemi con il passare tutte le informazioni appropriate senza che sia completamente distrutto.

Se qualcuno ha dei buoni collegamenti o consigli per farlo sarebbe molto apprezzato!

Grazie!

EDIT: So come usare il kit di controllo ajax e i suoi controlli, e so come creare schermate di accesso, sto chiedendo come farlo interamente dal codice di una classe che sarebbe indipendente dal suo implementazione

+0

Non voglio digitare le mie credenziali di nuovo. Non potresti semplicemente darmi un ruolo di amministratore e gestire l'autorizzazione nel tuo codice? – DOK

+0

@DOK: Esistono scenari in cui l'azienda stabilisce che l'utente deve fornire nuovamente le credenziali come una sorta di digital sign-off. Questo è abbastanza comune nei sistemi medico/clinici. –

+0

Wim ha colpito il chiodo sulla testa, programmazione sanitaria: D – Jimmy

risposta

3

Scrivi un controllo server di o un asp.net controllo extender come Ajax toolkit di controllo fa.

Il meglio che puoi fare è scaricare la fonte di AjaxControlToolkit from CodePlex ed esplorare la fonte di ModalPopup al suo interno.

+0

non ci ha pensato, lo esamineremo – Jimmy

+0

questo sembra abbastanza promettente, grazie mille, sto usando il seguente tutorial e finora tutto bene: http://www.asp.net/learn/Ajax-Control-Toolkit/tutorial-49-cs.aspx – Jimmy

+0

+1 per il link di origine – Maslow

0

Il modalpopupextender nel toolkit di controllo Ajax è facile da usare, in più ha un metodo lato server o client per mostrare il popup (nelle versioni precedenti, ho avuto problemi con il metodo lato server, ma potrebbe essere stato risolto nella versione attuale).

si potrebbe mettere il ModalPopupExtender all'interno della pagina master, e creare un metodo JS nella pagina master è possibile chiamare per richiamare l'extender popup modale, come:

funzione ShowPopup() { var modale = $ find ("<% = mpe1.ClientID%>"); modal.show(); }

Il contenuto del popup può essere sostituito tramite javascript, come si controlla quel contenuto.

2

Un'altra cosa che puoi fare è semplicemente chiamare il popupExtender da mostrare dal codice dietro il file. Come sappiamo che l'extender deve essere in qualche modo collegato a un controllo di destinazione, basta aggiungere un controllo fittizio come una casella di testo nascosta (in realtà per nascondere il controllo, farlo dal file asp, come style = "display: none" non dal controlla le proprietà (visible = false) altrimenti non funzionerà), quindi chiama semplicemente dal codice dietro l'extender in questo modo:

DummyTextBox_ModalPopupExtender.Show();

Puoi chiamarlo nel page_load o con qualsiasi altro trigger.

Non è necessario javascript né lato client, solo lato server. Xds.

0

Aggiungi BehaviorID="my_cool_id" al tuo extender modalpopup e aggiungere questo a qualsiasi funzione di server

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