[ toxi_programer @ 12.03.2008. 14:19 ] @
Počeo sam da pravim neku veb aplikaciju i hoću na jednom mestu da korsitim AJAX. Naime, postoji dva textbox-a( ASP.NET 2.0, C#, VS2008 Express) i jedno dugme. Meni je potrebno da kada se na to dugme klikne, tekst iz gornjeg tekstbox-a pošalje serveru, ovaj da nešto uradi sa njim i rezultat da se upiše u donji textbox.
Ja koliko znam( a ne znam dal znam :) ) to se ne može izvesti bez da se ne koristi AJAX. Išao sma na http://www.asp.net/ajax/ i tamo našao "Microsoft ASP.NET 2.0 AJAX Extensions", preuzeo i instalirao. Al sad, šta ću sa tim? I kad uspem da uradim( uz vašu pomoć jelte :D ) to što sam naumio, da li je potrebno da nešto još instaliram na server?

[ deerbeer @ 12.03.2008. 15:10 ] @
Ako sam te dobro shvatio mislim da ti ne treba AJAX uopste ako koristis ASP.NET i Web forms kontrole (TextBox,Label itd....)
Sve sto treba da uradis je da napravis handler na serveru koji obradjuje submit forme tj. klik na dugme i vraca nazad rezultat na stranu
Code:

txtBox2.Text = "rezultat" ; 

E sad jedino ako neces da saljes novi klasican HTTP request tj . neces da refreshujes stranu i
ako koristis javascript na toj stranici onda bi ti ajax bio od koristi..
[ toxi_programer @ 12.03.2008. 15:36 ] @
Heh, pa to je onaj najobičniji način... :)


Fora je da se pozove neki aspx fajl( na primer, ja ne znam kako to radi) uz prosledjivanje nekog parametra i da se bez refresha stranice dobijeni rezultat ispiše u drugom, donjem textboxu.
[ deerbeer @ 12.03.2008. 15:57 ] @
Pogledaj http://www.ajaxpro.info/ i http://www.ajaxpro.info/quickguide.aspx
Ovde imas primera za ASP.NET ..
Nisam se mnogo petljao sa AJAX-om al sustina bi ti bila sledeca :
Kod asinhronih poziva svaka funkcija ima 2 parametra .
Prvi je url sa parametrima (tj. vrednost iz tvog txtBox1) ka nekoj strani ,
a drugi je callback funkcija koja se poziva kad ti server obradi i vrati podatke .




[ mmix @ 12.03.2008. 16:23 ] @
@deerbeer:

AjaxPro je bio medju prvim Ajax enginima za asp.net i neki njegovi delovi jesu u Ajax.Net, ali je finalni release od strane MS-a mnogo obimniji i mocniji i ima vise funkcija nego AjaxPro.

@toxi: Internet je bukvalno PREPUN tutorijala za Ajax.net, posto je to sad jedan od novijih buzz-ova i svi bi hteli parce . U krajnjoj liniji imas na samom ajax.net sajtu gomilu video tutorijala ako ti odgovara taj stil ucenja, ako ne onda ima i drugih tutorijala u tekstualnom obliku na drugim sajtovima. Sam pazi da citas tutorijal za ajax koji ti imas, u turbulentnim vremenima pre fabricke verzije bilo je dosta "custom" implementacija AJAX-a (akronim naziva znaci Asynchronous JavaScript and XML, sto znaci da je svako parce koda koje asihrono komunicira sa serverom preko XML-a u stvari AJAX ).
[ toxi_programer @ 12.03.2008. 16:49 ] @
Bah, pa gledao sam tutore, ali stigao sam dotle da ne znam ni najjednostavniji primer da uradim.

Evo, ovo što je dao @deerbeer, skinuo sam dll-ove za koje piše da trebam skinuti i dodao referencu u VSu.
U Default.aspx.cs fajl sam stavio sledeće:

Code:

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
    }

    [AjaxPro.AjaxMethod]
    public DateTime GetServerTime()
    {
        return DateTime.Now;
    }
}


A u Default.aspx između ostalog i ovo:
Code:
<head runat="server">
    <title>Untitled Page</title>

<script language="javascript">
function getServerTime() {
_Default.GetServerTime(getServerTime_callback); 
alert("lool"); //ovo cisto da vim' oce li da se izvrsi( i naravno nece :( )
}
function getServerTime_callback(res){
alert(res.value);
}
</script>

...

<input id="Button1" onclick="getServerTime()" type="button" value="button" />



I ne radi... Neće da se prikaže ni jedan od alert poruka. Ima tutoriala, jeste, al' ja ne znam ni ovo osnovno da uradim.
[ mmix @ 12.03.2008. 16:59 ] @
Moraces da se strips do sutra onda :) Sad sam zauzet ispitom, pa cu ti sutra napraviti osnivni Ajax.net primer, pa vidi odatle, ako ti niko drugi ne odgovori do tad
[ _prompt @ 12.03.2008. 18:11 ] @
Skoro sam na slicno pitanje odgovorio, instaliraj ASP AJAX Extension, izaberi AJAX enabled web site(ovo cini mi se u .NET 3.5
nije potrebno) stavi na stranicu ScriptManager, UpdatePanel i unutar njega kontrole koje zelis da se
osvezavaju. Evo najprostiji primer:

Code:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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 runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        </asp:UpdatePanel>
        <br />
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
        <asp:Label ID="Label1" runat="server"></asp:Label>
    
    </div>
    </form>
</body>
</html>


Code:

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text += ":) ";
    }
}

[ Shadowed @ 12.03.2008. 19:07 ] @
Citat:
mmix: @toxi: Internet je bukvalno PREPUN tutorijala za Ajax.net, posto je to sad jedan od novijih buzz-ova i svi bi hteli parce ;).

Jes' vala, i secam se da sam preturio gomilu koji mi nisu nista vredeli kad je trebalo nesto da zavrsim i taman sam hteo da radim od nule, bez tih pomagala (sto bi mi bilo brze od onih tutorijala) kad su mi rekli da nece to ni trebati :)
[ toxi_programer @ 12.03.2008. 19:28 ] @
Hehe, vau, super. RADI 'EBOTE!

Samo, nisam imao one template-e dodatne pa sam morao da skinem i to( ASP.NET 2.0 AJAX Templates). I još jedan primer, ono, najprostiji:
http://www.asp.net/AJAX/Docume...eateSimpleAJAXApplication.aspx


Ovo radi i kod mene i na mom sajtu kada postavim. Jel to znači da je da bi ovo radilo potreban samo .NET 2.0 i oni dodaci koje ste naveli da treba preuzeti?
[ deerbeer @ 12.03.2008. 21:29 ] @
Prva stvar koja stoju u quick guide-u je :

Code:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <httpHandlers>
      <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
    </httpHandlers>

  [...]

  </system.web>
</configuration>


govori web serveru da ukkljuci ajax-componentu u lanac modula cije zahteve obradjuje .
sigurno prva stvar koja ti obezbedjuje da tvoj ajax modul radi na IIS6.0 ili 7.0 servera ako radis u asp.net 2.0

[ deerbeer @ 12.03.2008. 21:45 ] @
Citat:
mmix: @deerbeer:
AjaxPro je bio medju prvim Ajax enginima za asp.net i neki njegovi delovi jesu u Ajax.Net, ali je finalni release od strane MS-a mnogo obimniji i mocniji i ima vise funkcija nego AjaxPro.


Naravno kao sto rekoh nisam se mnogo petljao sa ajax-om odavno i ne cudi me da MS dosad nije izbacio
neku 5.x verziju kao sto su Silverlight unapredili sa 1.x na 2.x za manje od pola godine .
Sigurno da ima bezbroj primera na netu ..
a jedan od poznatijih primera ajaxa je i google-maps-ov engine za web koji je sustina asinhronog HTTP-a
[ mmix @ 12.03.2008. 21:50 ] @
@deerbeer: slazem se, ono sto sam pokusavao da ti kazem je da ne pomazes coveku, jer on ne koristi AjaxPro, koristi Ajax.NET, samim tim mu ne treba handler za ashx, Ajax.NET poziva metode direktno u aspx code-behindu.
[ deerbeer @ 12.03.2008. 22:05 ] @
Ok ...ne bih toxica-a da navedem na pogresan put ... :)
samo pomazem mu da shvati sustinu a da li ce http handler da se zove ashx ili ashc je manje bitno ...
ono sto mu stvarno treba su komunikacija javascript i c# ..


[ toxi_programer @ 13.03.2008. 15:29 ] @
Naravno... No ja tako na "nižem" nivou nisam uspeo da uradim, iako znam "kako to treba da radi"( a još sam i sve radio po nekom video tutoru koji je dat na sajtu koji je dao deerbeer). All' sa AJAX.NET radi sve.

Thank you all !!! :*