Že dve uri in pol prebiram http://ajax.asp.net/docs/default.aspx , vendar še nisem našel kar iščem. Naredil sem svojo komponento iz nule, ki vsebuje en <input> lement in en table. Na table click sem naredu JS funkcijo ki kliče postBack. Sedaj pa bi rad, da bi se na button klicol AjaxPostBack in dobil nazaj neko vrednost, to vrednost, ki bi jo JS funkcija dobila od MojeKomponente, pa bi zapisal v <input> element. (document.getElementById(id_inputa_moje_komponente).value = vrednost_ki_jo_je_vrnil_ajax_callback. Kaj bi vračalo pa bi bilo zapisano v moji funkciji. Recimo čas. (banalni primer)
Avtor: fora, objavljeno na portalu SloDug.si (Arhiv)
fora - četrtek, 11. januar 2007
Ne nisva se razumela. To kar si ti napisol, mi je že vse uspelo po googlat in narest, ter dela. Vendar to je postBack, jest pa bi rad AJAXCall.Primer: http://www.codeproject.com/aspnet/ajaxdropdownlist.aspali pa tukaj:http://www.codeproject.com/Ajax/AJAXWasHere-Part1.aspRad bi naredil Ajax call back z JAVASCRIPTOM, pa da bi padel v neko metodo v moji komponenti. Če pa to ni možno, pa bi rad padel v nek event, ki bi ga na aspx file-u assign-al na tej komponenti.
bojanv - četrtek, 11. januar 2007
Ne vem točno, kako si se lotil, mogoče kaj kode ne bi bilo slabo dodat , drugače pa izkoristi od ClientScript property-a lastnost Page.ClientScript.GetPostBackEventReference. Potem preveri, če si prvič na strani ( !IsPostBack ), nastavi skripto, jo registriraj Page.ClientScript.RegisterStartupScript, mu podaj kot parameter svojo kontrolo, skripto,dovoli tage, če jih maš. Na koncu (ker imaš še javascript) z instanco ScriptManagerja dodaj referenco na skripto. scriptManager.RegisterScriptReference(ResolveClientUrl("~/JS/MojaKnjiznica.js")); Vse to pa naredi v PreRender eventu. Da povzamem vse v kodo (tole je samo primer):public class LocationControl : Control, IPostBackEventHandler {protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); Page.ClientScript.GetPostBackEventReference(this, String.Empty); if (!Page.IsPostBack) { string script = "window.location.href= "nekiPage.aspx?ID=" + NextPageURL; Page.ClientScript.RegisterStartupScript(typeof(LocationControl), String.Empty, script, /* addScriptTags */ true); ScriptManager scriptManager = ScriptManager.GetCurrent(Page); if (scriptManager == null) { throw new InvalidOperationException("Nikjer ni script managerja"); } scriptManager.RegisterScriptReference(ResolveClientUrl("~/JS/Library.js")); } }} Al sem totalno zgrešil?