tutorial pages net mvc framework form ejemplos asp asp.net webforms

pages - En Webforms de ASP.net ¿cómo se detecta qué cuadro de texto presionó alguien?



web forms c# ejemplos (6)

¿Por qué necesita determinar qué cuadro de texto se presionó? ¿Está buscando ver qué cuadro de texto se estaba enfocando para que pueda desencadenar el evento de clic de botón correcto?

Si está buscando hacer algo como esto, un truco que he hecho ha sido "agrupar" los elementos de formulario apropiados dentro de su propio panel y luego establecer la propiedad "DefaultButton" en consecuencia.

Hacer esto me permite tener una "Búsqueda por nombre", "Buscar por departamento", "Buscar por Id", etc. Combinación de cuadro de texto / botón en un solo formulario y aún permitir al usuario escribir su parámetro de consulta, presionar Entrar y hacer que el método de búsqueda apropiado sea invocado en el código detrás.

En Webforms de ASP.net ¿cómo se detecta qué cuadro de texto presionó alguien?

Por favor, no hay respuestas de Javascript.

Necesito manejarlo todo en el código detrás de usar VB.NET.


En el controlador de eventos, el objeto "fuente" (el primer parámetro del controlador de eventos) es el objeto que genera el evento. Tipea el botón y obtén el nombre, o usa el reflejo para obtener información del objeto no tipado.

Además, si el control es hijo de un control web que no tiene sus propios eventos (solo diciendo ...) entonces puede usar OnBubbleEvent para determinar qué está sucediendo. OnBubbleEvent también tiene un parámetro de "fuente" que puede escribir, o usar la reflexión en.


Por lo que sé, no hay forma posible de que un script del lado del servidor lo detecte. Simplemente no se envía al servidor. Debe hacerse desde el lado del cliente (es decir, con Javascript) y luego enviarse al servidor.


Resolví esto para la búsqueda de un sitio mirando el objeto Request.Form, lado del servidor para ver si el cuadro de búsqueda tenía un valor. Lo hice en una clase base de la que heredaron todas mis páginas (o una clase base para la página maestra). Si tiene un valor, las probabilidades son bastante buenas, alguien tipeó algo y presionó enter, así que manejé la búsqueda.


Sin usar Javascript, simplemente no puede. Esa información no se transmite desde el navegador del cliente al servidor.


Sospecho que no se puede hacer sin javascript: cuando presionas "Enter", el navegador envía el formulario, no envía qué campo tenía el foco. A menos que use JS para agregar esa información al formulario que se envía, no tiene suerte.