Hay un control UpdatePanel en el atlas, que admite actualizaciones parciales. Simplemente especifique Mode="Conditional". Por supuesto, ScriptManager también debe configurar EnablePartialRendering="true".
Actualización parcial, usando xmlHttp. El proceso es el siguiente:
1: Durante la devolución de datos, el js de la página devuelve los datos de la página (se debe realizar la devolución de datos de toda la página)
2: El fondo recibe la solicitud y comienza a procesar (se puede activar la carga de página de la página)
3: Después del procesamiento, envíe solo los datos que se actualizarán a la página (determine qué parte de los datos enviar de acuerdo con el nombre del UpdatePanel que desea actualizar. Este es el código de this.updatePanelXX.Update() )
4: La página (cliente) solo actualiza esta parte de los datos de devolución (esta es la llamada actualización parcial, el método es encontrar updatePanle y luego UpdatePanel.InnerHtml=PostBackData. Es un reemplazo directo)
. Desde el punto de vista, la llamada actualización parcial La nueva consiste en volver a dibujar solo la parte especificada del updatePanel (cuando se vuelve a publicar en el servidor, se debe publicar toda la página; el código de fondo procesará cada uno como antes; pero solo una parte de los resultados del procesamiento serán devueltos al cliente).
De esta manera, será muy difícil si desea activar el procesamiento js de una página mientras se procesa UpdatePanle. Debido a que todos los datos que publica se actualizan en una pequeña esquina, el Response.Write(js) anterior no funcionará en absoluto.
La solución es esta:
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "OpenOverViewPart", openScript); utilice el método RegisterStartupScript para registrar la función js y luego podrá ejecutarla sin problemas.
De hecho, la ejecución no es tan fluida, porque después de que Atlas realiza una actualización parcial, juntará todos los js de la página (ocúpate de tus propios asuntos), por lo que causará un pequeño impacto: muchos js tienen como <! - y otros símbolos de comentarios, si no tienes cuidado, también se comentarán tus propios js. De hecho, esto es más problemático.
La solución es X. Debe controlar usted mismo el estilo de salida de js y agregar algunos retornos de carro más para mostrar que no es un comentario.
cadena openScript = "nt";
openScript = "<script" + " tipo='texto/javascript'>rn"
+ "rn"
+ "var a=0;rn"
+ "opener.top.__doPostBack('" + Request.Params["refresh"] + "','refresh');rn"
+ "ventana.opener.focus();"
+ "ventana.cerrar();"
+ "<" + "/guión" + ">";