|
|
|
|
|
#1 -
05/05/2008 13:16:08
|
Reporta abuso
|
Link Permanente
|
|
Pregunta tonta Asp.net Ajax
|
|
|
|
|
|
Pue eso una pregunta tonta. pero es que estoy empezando con Asp.net ajax y las cosas no me salen como tengo entendido que debieran salir.
Me he creado mi primer update panel. Uno tipico de boton y label. (el que viene en tdos los ejemplos. La única diferencia es que he usado VisualBasic en vez de c#)
pero cuando doy al click el botón hace un postback y se ejecuta el page_load.
Entiendo que el Page_load no deberia ejecutarse pues no se deberia recargar la página. Vamos que esa es la gracia de AJAX ¿no?
Adjunto mi código que como podeis ver es de lo más basico.
Por un lado:
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Página sin título</title> </head> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering ="true"> </asp:ScriptManager> </div> <asp:Label ID="LabelPage" runat="server" Text="Hora de la pagina"></asp:Label> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Label ID="LabelUpdatePanel" runat="server" Text="Hora del panel"></asp:Label> <asp:Button ID="Button1" runat="server" OnClick="Button2_Click" Text="Button" /> </ContentTemplate> </asp:UpdatePanel> <asp:panel ID="Panel1" runat="server" height="50px" width="125px"> </asp:panel> </form> </body> </html>
Por el lado delservidor:
Partial Class _Default Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'PAGE LOAD LabelPage.Text = DateTime.Now.ToString() LabelUpdatePanel.Text = DateTime.Now.ToString() End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) LabelUpdatePanel.Text = DateTime.Now.ToString() End Sub
End Class
|
|
|
|
|
|
#2 -
08/05/2008 16:32:45
|
Reporta abuso
|
Link Permanente
|
|
RE: Pregunta tonta Asp.net Ajax
|
|
|
Gracias por responder.
Parece que si estaba funcionando bien. El update panel no te libra de que se ejecute el Page_load. En el lado cliente se ejecuta un Postback parcial, pero un postback en todo caso.
|
|
|
|
|
|
|
#3 -
07/05/2008 19:22:23
|
Reporta abuso
|
Link Permanente
|
|
RE: Pregunta tonta Asp.net Ajax
|
|
|
Killo,yo tranajo en c# y para evitar eso la recarga de la pagina yo pongo el comportamiento del boton OnClientClick igual return false; (me imagino que sera igual en Vb o cualquier lenguaje)
|
|
|
|
|
|
|
#4 -
06/05/2008 13:41:26
|
Reporta abuso
|
Link Permanente
|
|
RE: Pregunta tonta Asp.net Ajax
|
|
|
hmm yo llevo tb muy pokiy con ajax prueba aber dos cosas: 1- mete la etiketa esa tb dentro del panel 2- tienes puesto bien lo ke ai ke añadir en el webconfig xa ke te vayan bien las cosas de ajax? eske ami me pone arriba: <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
(igual es xke e puesto los controlskit en la barra de controles) de todas formas igual solo con meter la etiketa funciona. nose aber si te ayudao algo pero no kreo :P
|
|
|
|
|