Autor: Cui Chikun (Richard Troy-Rex, RickTroy)
Contacto: [email protected] , http://ricktroy.cnblogs.com/
Ayer estaba buscando una solución simple para el uso de Ajax en ASP.NET V1.1.4322, pero descubrí que el modelo de página ASP.NET es muy "extraño". Entre todos los eventos y métodos internos que tiene, ninguno parece poder recopilar la solución sin actualizar la página. Incluso si XmlHttpRequest en la página se usa para realizar HTTP GET, el evento Page_Load no se ejecuta (porque. no hay ningún resultado de prueba en el código Page_Load en el texto de respuesta de XmlHttpRequest).
Más adelante espero usar HtmlControl y luego usar __doPostBack(EventTarget, EventArgument) para escribir el script RaisePostBackEvent, pero descubrí que una vez enviado el formulario, la página se actualizará; (más tarde descubrí que esto es sentido común de los formularios HTML, nunca lo había aprendido antes). Pero incluso si usa HtmlControl para realizar HTTP GET de XmlHttpRequest, el problema aún no se puede resolver (el evento Page_Load no responde como se indicó anteriormente ).
PD: Para aquellos que quieran imitar WebControl para el servidor PostBack, pueden escribir dos entradas ocultas en el cliente, denominadas __EVENTTARGET y __EVENTARGUMENT, y luego usar la sintaxis del script __doPostBack(control, argumento) para activar el evento PostBack;
Solo después de tomar prestado el ASP.NET profesional de otra persona supe que IHttpHandler e IHttpModule se pueden usar en el modelo ASP.NET pararealizar
solicitudes HTTP, pero estas dos clases requieren precompilación. La biblioteca se puede escribir, su escalabilidad no es optimista.
¿Podría darme algún consejo? ¿Existe algún evento y método que pueda responder y procesar directamente las solicitudes HTTP en la página?
¿O quién puede proporcionar algún método de envío () para pasar el formato de datos?
Debido a que XmlHttpRequest se puede enviar en el momento de la solicitud, si conocemos la forma de enviar los datos, parece que podemos enviar los datos sin actualizarlos (pero también he considerado que esto parece tener riesgos de seguridad).
Por favor dame tu consejo.