Validator callout extender error con Update Panel

Hoy me he encontrado con el siguiente error cuando he incluido un Validator callout extender en un UpdatePanel 

Error message:
Sys.ArgumentUndefinedException: Value cannot be undefined.
Parameter name: id

Parece ser que en la versión final de Ajax de han olvidado de poner la compatibilidad entre los validadores de ASP.NET y el UpdatePanel.

En esta link scott gu lo explica perfectamente y aqui podeis encontrar una solución a este problema

Probado, funciona perfectamente

0.cells is null or not an object. Error en Ajax con un Menu dentro de un UpdatePanel

Este es el error que estaba obteniendo cuando tenia un menu que controla un Multiview dentro de un UpdatePanel.

Despues de mucho navegar encontre la solución en el foro de ASP concretamente en esta entrada .

La solución es sencilla debemos de introducir este trozo de código JavaScript en nuestra pagina.

 

var oldMenu_HideItems = Menu_HideItems;
	
if(oldMenu_HideItems)
{
	Menu_HideItems = function(items)
         {
	     if (!items || ((typeof(items.tagName) == "undefined") && (items instanceof Event)))
              { 
                items = __rootMenuItem;
              }
 	     if(items && items.rows && items.rows.length == 0)
               { 
               items.insertRow(0);
               }
	     return oldMenu_HideItems(items);
	} 
}

Evento en Bilbao

 

Mañana 3 de Mayo tenemos evento en Artalde, aqui teneis la agenda y el link para apuntaros

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032338931&Culture=es-ES

Información general del Evento

Buenas prácticas para mejorar el rendimiento de SQL Server 2005.

Agenda:

19:00 Registro
19:15 Buenas prácticas para mejorar el rendimiento de SQL Server 2005  Ibon Landa de Panda Software y Rodrigo Corral de Plain
Concepts.

En el evento se revisarán los principales aspectos a tener en cuenta
para optimizar al máximo el rendimiento de SQL Server 2005,
principalmente desde el punto de vista del desarrollador.
Recomendaciones de diseño, buenas prácticas en las sentencias SQL,
índices clustered, non-clustered, vistas, niveles de aislamiento…..

Más información en www.artalde.net, en info@artalde.net,
o en http://groups.google.es/group/artaldedotnet

Llamar de forma asincrona a servicios WCF

A veces nos interesa llamar de forma asincrona a un servicio WCF que sabemos que va a tardar cierto tiempo en procesarse y queremos que nuestro proceso cliente siga haciendo cosas mientras el servicio se va ejecutando.


Es bastante sencillo utilizar llamadas asincronas en servicios WCF, solo tenemos que poner el parametro /async cuando ejecuto la herramienta svcutil para generar el proxy en el cliente


 



SvcUtil http://localhost:8000/ /async /out:ProxyAsync.cs /noConfig


 


De manera que me generara el proxy(ProxyAsync) . con mis metodos del ServiceContract pero me añadira un metodo BeginNombreMetodo como por ejemplo si mi servicio tiene el metodo suma



int Suma(int numer1,int number2)


Me generara una clase en el proxy con la firma



IAsyncResult BeginSuma(int number1,int number2,AsyncCallback callback,object asyncState)


Donde los dos  primeros parametros, son los parametros del metodo y luego tiene el metodo donde se llamara cuando haya finalizado el servicio WCF en el servidor y un objeto con el estado de la sincronización


EL metodo que llamara cuando se finalize el servicio debe de tener la firma OnCompletion(IAsyncResult result)


En el parametro result tengo el valor que devuelva el servicio WCF, que recogere a traves de un metodo que genera el proxy que se llamara siempre EndNombreMetodo


Un ejemplo sencillo seria


 

  private void Btn_Click(object sender, EventArgs e)
{
m_Proxy.BeginSuma(2, 3, OnCompletion, null);
}
void OnCompletion(IAsyncResult result)
{
int sum = m_Proxy.EndSuma(result);
result.AsyncWaitHandle.Close();

MessageBox.Show(“Suma = ” + sum)
}