Esto puede ayudar:
 <http://usengyap.spaces.live.com/blog/cns!28135CEBCD40975C!202.entry>
http://usengyap.spaces.live.com/blog/cns!28135CEBCD40975C!202.entry

 

En google busqué por “Calendar UpdatePanel enableEventValidation”. 

 

 

  _____  

From: puntonet@mug.org.ar [mailto:punto...@mug.org.ar] On Behalf Of Luis
Rubio
Sent: Tuesday, December 16, 2008 11:56 AM
To: puntonet@mug.org.ar
Subject: [puntonet] Error ASP:Calendar y Ajax

 

     Hola Lista.
 
     Tengo un sitio en net 2008, en una de las paginas tengo un control
asp:Calendar que al darle click a los distintos días ejecuta un SP y trae 1
registro de la Base de datos. Ese registro tiene 2 campos y el segundo lo
muestro en un label.

    Esto anda perfecto y hace que se puedan mostrar mensajes para distintos
días. El problema surge cuando agrego un asp:UpdatePanel. Cuando hago click
sobre el calendario la primera vez funciona perfectamente pero al darle por
segunda vez (en otro día o semana) me sale el siguiente error:
   
Linea:        605
Carácter:    13
Error:        Sys.WebForms.PageRequestManagerServerErrorExeption: Argumento
de devolución o de devolución de llamadas no valido. La valuación de eventos
se habilita usando <Pages enableEventValidation="true"> en la conflagración
o <%@ Pages enableEventValidation="true" %> en una pagina. Por motivos de
seguridad, esta característica comprueba que los argumentos pasados a
eventos de devolución o de devolución de llamadas se originan desde el
control del servidor que inicialmente los proceso. si los datos son validos
y son los que se esperaba, utilice el método
ClientScriptManager.RegisterForEventValidation para registrar los datos de
devolución o de devolución de llamadas para su valuación.
Codigo:        0 

     Para colmo después que me da el error si recargo la pagina funciona
perfectamente sin importar en cuantos links del calendar clikee. 

    Ya probé de agregar enableEventValidation="true" pero sigue todo igual,
busque en google y solo encuentro lo de enableEventValidation="true". 

    Desde ya agradezco cualquier ayuda.

    Saludos Luis


PD: Pego parte del código

En la Pagina:

            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>

          ....................


                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                    
                            <asp:Calendar ID="Calendar1" runat="server"
BackColor="#f1eed3"
                                BorderColor="White" BorderWidth="1px"
Font-Names="Verdana" Font-Size="9pt" 
                                ForeColor="Black" Height="190px"
NextPrevFormat="ShortMonth" Width="196px" 
                                ondayrender="Calendar1_DayRender" 
 
onselectionchanged="Calendar1_SelectionChanged" 
 
onvisiblemonthchanged="Calendar1_VisibleMonthChanged" TitleFormat="Month" 
                                DayNameFormat="FirstTwoLetters"
SelectWeekText="*" SelectionMode="DayWeek"
                                CellPadding="2" EnableViewState="true">
                                <OtherMonthDayStyle ForeColor="#999999" />
                                <SelectedDayStyle BackColor="#FFFFCC"
ForeColor="Black" BorderColor="Black" 
                                    BorderStyle="Solid" BorderWidth="1px" />
                                <NextPrevStyle Font-Bold="True"
Font-Size="8pt" ForeColor="#333333" 
                                    VerticalAlign="Bottom" />
                                <DayHeaderStyle Font-Bold="True"
Font-Size="8pt" />
                                <TitleStyle BackColor="#f1eed3"
BorderColor="Black" BorderWidth="4px" 
                                    Font-Bold="True" Font-Size="12pt"
ForeColor="#333399" />
                            </asp:Calendar>
                            
                           
                           <asp:Label ID="lblMsgTitulo" runat="server"
Text=""></asp:Label>

                    </ContentTemplate>      
             </asp:UpdatePanel>                     




En archivo .cs


    protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {
        // al seleccionar un dia
        
        Entidades.Usuario us = (Entidades.Usuario)Session["USLOG"];

        if (Calendar1.SelectedDates.Count == 1) // Se selecciono solo 1 dia
        {
            this.SeleccionDia(us);
        }
        else
        {
            this.SeleccionSemana(us);
        }
    }


    protected void SeleccionSemana(Entidades.Usuario us)
    {
        BLLs.SemanasBLL oBS = new BLLs.SemanasBLL();
        int nSemana = ((Calendar1.SelectedDates[0].DayOfYear / 7) + 1) ;

        Entidades.Semana s = oBS.GetXId(us.Id,
Calendar1.SelectedDates[0].Year, nSemana);

        this.lblMsgTitulo.Text = "Semana Numero " + nSemana.ToString() +
"<br />" +
                                  "<span style=\"font-size:10px\"> del " +
Calendar1.SelectedDates[0].Date.ToShortDateString() +
                                  " al " +
Calendar1.SelectedDates[6].Date.ToShortDateString() + "</span>"; 

        this.lblMensaje.Text =
Aplicacion.Servicios.Strings.HTMLTags(s.Texto);
    }

    protected void SeleccionDia(Entidades.Usuario us)
    {
        DateTime dt = Calendar1.SelectedDate;
        Entidades.Dia d = oDB.GetXId(us.Id, dt.Year, dt.Month, dt.Day);

        this.lblMsgTitulo.Text = dt.ToLongDateString();
        this.lblMensaje.Text =
Aplicacion.Servicios.Strings.HTMLTags(d.Texto);
    }








   

Reply via email to