nwinger Skrevet 23. august 2011 Del Skrevet 23. august 2011 Hei, Har nå begynt på et prosjekt som omhandler autocomplete-funksjon i et søkefelt. Dette ved hjelp av C#, Ajax og jquery. Er det noen som har erfaring med lignende og kan peke meg i retning av noen artikler som omhandler dette, eller eventuelt komme med erfaringer? Lenke til kommentar
HDSoftware Skrevet 25. august 2011 Del Skrevet 25. august 2011 Hva mener du egentlig med autocomplete ? At det slås opp mot en database mens du skriver eller at innholdet i entry slår opp automatisk når du forlater feltet? Uansett så finner du løsningen ved å klikke på feltet og velge EVENTS i properties dialogen. Der finner du alle eventene du trenger og det er bare å embedde disse etter eget ønske. Ta f.eks. eventet Changed. Dette eventet kjører hver gang du gjør en endring i feltet og på dette eventet kan du jo slå opp og således autocomplete. Skal du ha en autocomplete noe ala google sin så må du mekke din egen entry kontroll slik at du kan "tegne" inn forslaget bak markøren. Lenke til kommentar
Gjest Slettet+9871234 Skrevet 26. august 2011 Del Skrevet 26. august 2011 (endret) Hei, Har nå begynt på et prosjekt som omhandler autocomplete-funksjon i et søkefelt. Dette ved hjelp av C#, Ajax og jquery. Er det noen som har erfaring med lignende og kan peke meg i retning av noen artikler som omhandler dette, eller eventuelt komme med erfaringer? Dersom du tenker på noe a la Google suggest, er dette et typisk AJAX problem hvor du antagelig kan gjøre det enda mer kompakt ved å bruke jQuery som du antyder. Merk at X i AJAX står for X, men andre dataformater kan også benyttes som for eksempel JSON som er mye enklere og utveksles raskere enn XML data. JSON følger også JavaScript sin objekt norasjon. Du kjenner vel denne siden: http://api.jquery.com/category/ajax/ og http://api.jquery.com/jQuery.ajax/ Dette dataTypeString Default: Intelligent Guess (xml, json, script, or html) The type of data that you're expecting back from the server. If none is specified, jQuery will try to infer it based on the MIME type of the response (an XML MIME type will yield XML, in 1.4 JSON will yield a JavaScript object, in 1.4 script will execute the script, and anything else will be returned as a string). The available types (and the result passed as the first argument to your success callback) are: "xml": Returns a XML document that can be processed via jQuery. "html": Returns HTML as plain text; included script tags are evaluated when inserted in the DOM. "script": Evaluates the response as JavaScript and returns it as plain text. Disables caching by appending a query string parameter, "_=[TIMESTAMP]", to the URL unless the cache option is set to true. Note: This will turn POSTs into GETs for remote-domain requests. "json": Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.) "jsonp": Loads in a JSON block using JSONP. Adds an extra "?callback=?" to the end of your URL to specify the callback. Disables caching by appending a query string parameter, "_=[TIMESTAMP]", to the URL unless the cache option is set to true. "text": A plain text string. multiple, space-separated values: As of jQuery 1.5, jQuery can convert a dataType from what it received in the Content-Type header to what you require. For example, if you want a text response to be treated as XML, use "text xml" for the dataType. You can also make a JSONP request, have it received as text, and interpreted by jQuery as XML: "jsonp text xml." Similarly, a shorthand string such as "jsonp xml" will first attempt to convert from jsonp to xml, and, failing that, convert from jsonp to text, and then from text to xml. bør du spesielt merke deg. Blant annet kan du retunere JavaScript kode fra servern. Det vil med andre ord si andre JavaScript biblioteker som ligger på serveren som for eksempel andre kjente http://www.prototypejs.org/ eller http://developer.yahoo.com/javascript/ Der er mange http://javascriptlibraries.com/ Bruker du jQuery skulle det være gjort med noen få linjer kode når du har bestemt deg for formatet du vil arbeide med. Gjør det enkelt, så enkelt som mulig, men ikke enklere. JSON er dermed enklere enn XML. Endret 26. august 2011 av Slettet+9871234 Lenke til kommentar
GeirGrusom Skrevet 26. august 2011 Del Skrevet 26. august 2011 ASP.NET skal vel abstrahere vekk "lavnivå" ting som kommunikasjon. Skal bare være nødvendig å legge til en <asp:DataSource /> og bide tekstboksen sin AutoCompleteSource til denne. Lenke til kommentar
Gjest Slettet+9871234 Skrevet 26. august 2011 Del Skrevet 26. august 2011 (endret) ASP.NET skal vel abstrahere vekk "lavnivå" ting som kommunikasjon. Skal bare være nødvendig å legge til en <asp:DataSource /> og bide tekstboksen sin AutoCompleteSource til denne. Bruker man da C#? Op ber om C#, AJAX og / eller jQuery Hvordan behandles ulike dataformater? Så det er alt man trenger å gjøre om man vil ha autocomplete på en web side mot en database på serveren? Skjer alt i bakgrunnen? Hvilken teknologi brukes? Noe annet enn XMLHttpRequest? Hvor mye overhead er der? XMLHttpRequest objektet er implementert i nettleserens JavaScript motor. Du vet at jeg personlig bruker minst mulig av M$ sin teknologi. Endret 26. august 2011 av Slettet+9871234 Lenke til kommentar
GeirGrusom Skrevet 26. august 2011 Del Skrevet 26. august 2011 (endret) ASP.NET skal vel abstrahere vekk "lavnivå" ting som kommunikasjon. Skal bare være nødvendig å legge til en <asp:DataSource /> og bide tekstboksen sin AutoCompleteSource til denne. Bruker man da C#? Op ber om C#, AJAX og / eller jQuery Hvordan behandles ulike dataformater? Så det er alt man trenger å gjøre om man vil ha autocomplete på en web side mot en database på serveren? Skjer alt i bakgrunnen? Hvilken teknologi brukes? Noe annet enn XMLHttpRequest? Hvor mye overhead er der? XMLHttpRequest objektet er implementert i nettleserens JavaScript motor. Du vet at jeg personlig bruker minst mulig av M$ sin teknologi. Kan godt være ASP.NET bruker jQuery, det aner jeg ikke. Men det blir ihvertfall generert JavaScript og CIL (som blir kompilert til maskinkode første gang siden vises). Serialiseringen mener jeg bruker SOAP fremfor JSON, men det vet jeg egentlig ikke. All Javascript ytelse er opp til hver enkelt nettleser, så det er bare SOAP og CIL koden som utgjør noen spesiell overhead, og ettersom CIL kompilerer til maskinkode, så er det egentlig SOAP igjen, som er temmelig verbost (All XML er verbos) Endret 26. august 2011 av GeirGrusom Lenke til kommentar
torbjørn marø Skrevet 26. august 2011 Del Skrevet 26. august 2011 Jeg ville enten brukt Autocomplete i jQuery UI eller Autocomplete i ASP.NET AJAX Control Toolkit. Lenke til kommentar
Gjest Slettet+9871234 Skrevet 26. august 2011 Del Skrevet 26. august 2011 (endret) Kan godt være ASP.NET bruker jQuery, det aner jeg ikke. Hvis ASP.NET bruker jQuery, så introduserer vel også det ekstra overhead? Som jeg har nevnt ovenfor kan data formatet endog være JavaScript kode, og for den sofistikerte bruker kan man hente det beste fra ulike bibliotker og kombinere dem med jQuery: http://docs.jquery.com/Using_jQuery_with_Other_Libraries Det er vel da enklere å bruke jQuery direkte? Men det blir ihvertfall generert JavaScript og CIL (som blir kompilert til maskinkode første gang siden vises). Jeg har som du vet aldri brukt ASP.NET så det avsnittet er litt gresk for meg og sikkert andre som leser denne tråden. Kan du forklare ytterligere. Vil det si at det kompileres til maskinkode (0,1) som ligger på serveren, byte kode, tolket kode eller ..? All Javascript ytelse er opp til hver enkelt nettleser, Ja men alle moderne nettlesere av betydning har en innebygd JavaScript motor som kan lese XMLHttpRequest objektet. Regner med at det samme gjelder de fleste moderne mobile plattformer. .. så det er bare SOAP og CIL koden som utgjør noen spesiell overhead, og ettersom CIL kompilerer til maskinkode, så er det egentlig SOAP igjen, som er temmelig verbost (All XML er verbos) Ja og derfor ville jeg om ikke noe annet kreves bruke JSON som data format. Eksempel: {'title': 'My title'} Formatet minner altså mye om en JavaScript objekt deklarasjon som for eksempel var TplHtml = {template: { }}; Noen kaller TplHtml et JS navnerom med et tomt template object. Ved å dra nytte av JavaScripts array lignende objekt referanse kan vi altså sette: TplHtml.template[name] = text; Mye enklere og mer likt med data formatet enn en XML snutt. Minimalisme er et godt programmerings prinsipp etter min mening. XML filer trenger som regel et eget navnerom i tillegg. Noen ganger endog et XML Skjema. Endret 26. august 2011 av Slettet+9871234 Lenke til kommentar
torbjørn marø Skrevet 26. august 2011 Del Skrevet 26. august 2011 Men det blir ihvertfall generert JavaScript og CIL (som blir kompilert til maskinkode første gang siden vises). Jeg har som du vet aldri brukt ASP.NET så det avsnittet er litt gresk for meg og sikkert andre som leser denne tråden. Kan du forklare ytterligere. Vil det si at det kompileres til maskinkode (0,1) som ligger på serveren, byte kode, tolket kode eller ..? CIL (Common Intermediate Language) er et stack-basert, objektorientert assembly som brukes av .Net-rammeverket og Mono. Rammeverket kompilerer CIL videre til maskinkode for eksekvering, så i praksis passer det vel med den normale definisjonen av bytekode. Jeg vil ikke blande meg for mye inn i diskusjonen om ASP.NET, annet enn å si at jeg ikke synes GeirGrusom behøver å forsvare de valgene utviklerne hos MS har gjort. Det er både positive og negative sider ved alle abstraksjoner, og ASP.NET er en KJEMPEABSTRAKSJON. Det positive kgun gjør er å påpeke (dog noe indirekte) at det er viktig å vite noe om hva som ligger bak abstraksjonene. Lenke til kommentar
Gjest Slettet+9871234 Skrevet 26. august 2011 Del Skrevet 26. august 2011 (endret) Takk glimrende oppklaring. CIL (Common Intermediate Language) er et stack-basert, objektorientert assembly som brukes av .Net-rammeverket og Mono. Rammeverket kompilerer CIL videre til maskinkode for eksekvering, så i praksis passer det vel med den normale definisjonen av bytekode. CIL (Common Intermediate Language) is a bytecode and the language of the .NET platform into which are compiled source code written in high level languages. Its operations are based on a stack and it is executed by a virtual machine. Kilde: http://www.scriptol.com/programming/cil.php Endret 26. august 2011 av Slettet+9871234 Lenke til kommentar
nwinger Skrevet 30. august 2011 Forfatter Del Skrevet 30. august 2011 Jeg ville enten brukt Autocomplete i jQuery UI eller Autocomplete i ASP.NET AJAX Control Toolkit. Takk for forslaget! (Forslagene forøvrig.) Det har seg slik at jeg er utplassert i en bedrift og skal løse denne oppgaven til bruk i en intern applikasjon. Da jeg har gitte retningslinjer å forholde meg til, så velger jeg å holde meg til dette. jquery ui så ut til å være det jeg ser etter sånn ved første øyekast. Men, igjen, tusen takk for gode innspill og forslag! Setter pris på kloke, forklaringsvillige hoder. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå