RSS

Arquivo da tag: AJAX

FileUpload com AJAX

Esse é um problema comum, o objeto FileUpload precisa de um ciclo completo de postback para receber um upload. Já o AJAX veio justamente para suprimir esses postbacks.
Então, quando temos um asp:FileUpload dentro de um asp:UpdatePanel, esses postbacks não ocorrem e quando consultamos a propriedade HasFile do FileUpload não recebemos nada.
No entanto, podemos contornar isso facilemente através de triggers do UpdatePanel.

<asp:UpdatePanel runat=”server” UpdateMode=”Conditional” >
<ContentTemplate>
<asp:FileUpload runat=”server” />
<asp:Button runat=”server” ID=”MeuBotao” />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID=”MeuBotao” />
</Triggers>
</asp:UpdatePanel>

No exemplo acima, definimos que o botão que faz o submit deve acionar o postback, e isso faz a mágica.

 
2 Comments

Publicado por em 25/07/2009 em ASP.NET, Tecnologia

 

Tags: ,

Async em AspNet com AJAX

Hoje duelei por um tempo com as chamadas assíncronas numa página ASP e por isso, vou postar aqui a solução para poder me lembrar caso precise.

Quadro muito comum: Criei uma classe que era instanciada e tinha um método chamado. Após isso, internamente, os processos eram executados em diversas threads para agilizar e, ao concluir tudo, um evento disparado. Se fosse windows application seria “mamão com açucar”, mas numa web aplication… temos o fator timeout da mesma.

A primeira coisa a se fazer é acrescentar na declaração da página a propriedade Async, isso definirá que a mesma pode tratar as chamadas assíncronas. Quanto ao timeout, o default é 90 segundos… se voce, como eu, tiver um processo realmente demorado e precisar aumentar isso, fazemos através da propriedade AsyncTimeout, lembrando que a unidade é segundos.

<%@ Page Async=”true” AsyncTimeout=”300″ %>

Mas isso não basta, se sua aplicação usar AJAX… Nesse caso entra o fator ScriptManager que também possui uma propriedade para indicar o timeout.

<asp:ScriptManager runat=”server” AsyncPostBackTimeout=”300″ />

E agora vai que é uma beleza.

 
Leave a comment

Publicado por em 15/12/2008 em ASP.NET, Tecnologia

 

Tags: ,

AutoCompleteExtender não dispara eventos, não responde

Pela segunda vez ao começar um novo projeto AspNet usando o extender AutoCompleteExtender para auto-sugerir valores num dropdown conforme se digita num textbox, eu tenho dificuldades em fazer o recurso funcionar.

Faço todas as chamadas, crio o webService, testo o webService, tudo OK mas,.. simplesmente na página ao digitar nada é sugerido.

Após apanhar muiiiiito, comparando minhas outras aplicações (onde o recurso está funcionando) com a nova, identifiquei sutis diferenças nas declarações dos webMethods e dos webServices e… sim eram esses os problemas. Para que eu não volte a esquecer, vou documentar aqui

Declaração do webService:

<WebService(Namespace:=“http://tempuri.org/”)> _
<WebServiceBinding(ConformsTo:
=WsiProfiles.BasicProfile1_1)> _
<
Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
<Script.Services.ScriptService()> _
Public Class AutoComplete
Inherits System.Web.Services.WebService

Declaração do webMethod (declaração é totalmente case-sensitive):

<WebMethod()> _
<Script.Services.ScriptMethod()> _
Public Function GetTerceiros( _
ByVal prefixText As String, _
ByVal
count As Integer) As String()

Chamada no AspX:

<ajaxToolkit:AutoCompleteExtender
ID
=”TerceiroAutoComplete” runat=”server”
TargetControlID
=”TerceiroTextbox”
ServicePath
=”~/Common/AutoComplete.asmx”
ServiceMethod
=”GetTerceiros”
MinimumPrefixLength
=”1″
CompletionInterval
=”1000″
CompletionSetCount
=”20″
EnableCaching
=”true”
Enabled
=”true”
/>

Ah sim, mais uma coisa, no AspX os objetos devem estar dentro de um UpdatePanel, naturalmente.

AJAX: AutoCompleteExtender not firing, not responding
 
Leave a comment

Publicado por em 07/11/2008 em ASP.NET, Tecnologia

 

Tags: ,

 
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.