Usuario anónimo  |  Ingresar  |  Regístrate

ASP.NET Postback

Alternativamente a los serverEvents nativos del control GMaps, se puede forzar que estos ejecuten un PostBack ASP.NET tradicional. Para ello no hay más que indicarlo con serverEventsType="AspNetPostBack" (Como siempre, enableServerEvents debe estar activado).

Una de las diferencias más importantes es que con los serverEvent nativos sólo puede interactuar con el mapa devolviendo un string con Javascript. Usando el PostBack se puede devolver ese Javascript, pero además se puede interactuar directamente con el mapa (ver ejemplo).

También se puede acceder a variables de sesión, Viewstate, etc.

Además, funciona muy bien usándolo dentro de un UpdatePanel.

Sin embargo, los serverEvent nativos son muchísimo más rápidos y eficientes, con lo que se recomienda el uso de estos siempre que sea posible.

Code.aspx
<cc1:GMap ID="GMap2" runat="server" serverEventsType="AspNetPostBack" OnMarkerClick="GMap2_MarkerClick"
    enableServerEvents="True" OnClick="GMap2_Click" meta:resourcekey="GMap2Resource1"  />
Code.aspx.cs
private void BuildMap()
{
    GLatLng latLng = new GLatLng(40, 10);

    GMap2.GCenter = latLng;

    GMarker marker = new GMarker(latLng);
    GMap2.Add(marker);
}

protected string GMap2_Click(object s, GAjaxServerEventArgs e)
{
    GMap2.GZoom = 1;

    GInfoWindow window = new GInfoWindow(e.point, "Clicked");
    GMap2.Add(window);

    return string.Empty;
}

protected string GMap2_MarkerClick(object s, GAjaxServerEventArgs e)
{
    GLatLng latLng = new GLatLng(40, 10);

    GMap2.GCenter = latLng;
    GMap2.resetInfoWindows();

    GMap2.GZoom = 6;
    return string.Empty;
}
Powered by Subgurim.NET