2010-01-06 19 views
8

Lo que intento hacer es crear un poco de código reutilizable que pueda escribir una ventana emergente modal, ya sea a través de javascript o usando el kit de herramientas ajaxcontrol todo desde el código subyacente.Ventana emergente modal de ASP.NET, ¿enteramente desde el código?

El modal sería una especie de ventana emergente de inicio de sesión para controlar el acceso a áreas más restringidas del sitio web, lo que permite a ciertos usuarios volver a obtener credenciales para un mayor acceso.

Estaba pensando en hacer un control de usuario, pero preveo algunos problemas para pasar toda la información adecuada sin que sea completamente pasivo.

¡Si alguien tiene buenos enlaces o consejos para hacerlo, sería muy apreciado!

Gracias!

EDIT: Sé cómo usar el kit de herramientas de control ajax y sus controles, y sé cómo hacer pantallas de inicio de sesión, estoy preguntando cómo hacer esto completamente desde el código de una clase que sería independiente de su código aplicación

+0

No quiero escribir mis credenciales de nuevo. ¿No podría simplemente darme una función de administrador y manejar la autorización en su código? – DOK

+0

@DOK: hay situaciones en las que el negocio dicta que el usuario debe proporcionar las credenciales nuevamente como una especie de firma digital. Esto es bastante común en los sistemas médicos/clínicos. –

+0

Wim dio en el clavo, la programación de cuidado de la salud: D – Jimmy

Respuesta

3

Escribir un control servidor o un extensor de control asp.net como kit de herramientas AJAX Control hace.

Lo mejor que puedes hacer es descargar la fuente de AjaxControlToolkit from CodePlex y explorar la fuente de ModalPopup dentro de eso.

+0

no pensó en esto, lo examinaré – Jimmy

+0

esto se ve bastante prometedor, muchas gracias, estoy usando el siguiente tutorial y hasta ahora todo bien: http://www.asp.net/learn/Ajax-Control-Toolkit/tutorial-49-cs.aspx – Jimmy

+0

+1 para el enlace de origen – Maslow

0

El modalpopupextender en el kit de herramientas de control Ajax es fácil de usar, además tiene un método de servidor o cliente para mostrar la ventana emergente (en versiones anteriores, tuve problemas con el método del servidor, pero puede haberse resuelto en la versión actual).

se puede poner el ModalPopupExtender dentro de la página principal, y crear un método de JS en la página principal se puede llamar para invocar el extensor emergente modal, como:

función ShowPopup() { var modal = $ encuentran ("<% = mpe1.ClientID%>"); modal.show(); }

El contenido de la ventana emergente puede reemplazarse mediante javascript, ya que usted controla ese contenido.

2

Otra cosa que puede hacer es simplemente llamar al popupExtender para mostrar desde el código detrás del archivo. Como sabemos, el extensor debe estar vinculado de alguna manera a un control de destino, simplemente agregue un control ficticio como un cuadro de texto oculto (en realidad para ocultar el control, hágalo desde el archivo asp, como style = "display: none" no desde propiedades de control (visible = falso) de lo contrario no funcionará), y luego simplemente llame desde el código detrás del extensor así:

DummyTextBox_ModalPopupExtender.Show();

Puede llamarlo en la página_carga o con cualquier otro disparador.

No necesita javascript ni lado del cliente, solo, del lado del servidor. Xds.

0

Añadir BehaviorID="my_cool_id" a su extensor ModalPopup y añadir a cualquier función de servidor

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