28. november 2007 - 18:43Der er
14 kommentarer og 1 løsning
Behandle textinput til at generer controls
Hej eksperten..
Jeg ved ikke om dette overhoved er muligt. Problemet er at de billeder der bliver lavet, skal kunne aktivere en handler i min vb-kode.
Så her er mit spørsmål.
Hvis man f.eks. havde følgende string: "Dette er nu ikke så [bid=53] interessant!"
Ville man så kunne få koden til automatisk at generere note alá:
<asp:repeater id="lblEt" text="Dette er nu ikke så " runat="server" /> <asp:imagebutton id="btnTo" imageurl="53" runat="server"/> <asp:label id="lblTre" text=" interessant!" runat="server" />
Fortæl nærmere: det er ret uklart hvad der skal ske. Så vidt jeg forstår så ønsker du dynamisk at tilføje et eller andet - en hel repeater ? eller en knap + label i en eksisterende repeater ? Og hvad skal trigge denne begivenhed helt præcist ? En indtastning, eller noget du læser i en fil eller hva?
Du kan dynamisk tilføje server controls, eller modifcere deres indhold så some details please.
Jeg ved det er muligt dynamisk at indsætte controls via ens codebehind. Mit problem er at hvis man f.eks. har teksten: "Dette er nu ikke så [bid=53] interessant!" skal ASP.Net være istand til at dele den tekst op i tre controls. To labels som omgiver en imagebutton.
[bid=53] Skal omdannes til en imagebutton hvis 53 bruges f.eks. på commandargument.
Et eksempel kunne være hvis man skrev noget i en tråd i et forum.. eks: "Det virker ikke videre klogt.. [glad.gif]<br />Måske skulle du... [tunge.gif]"
Her skulle den selv kunne gå ind og erstatte de steder hvor der står [glad.gif] og [tunge.gif] med imagebuttons. Dette er fordi jeg skal have et commandname og et commandargument vedlagt.
Du vil have at en bruger taster noget og det øjeblik han taster return så skal den tekst som han lige har indtastet laves om til noget tekst som indeholder nogle buttons ?
Prøv lige at vise et step-by-step scenarie, for det som du skriver lyder ikke helt klart for mig:
1. bruger taster x-x-x 2. så sker der postback 3. brugerens linje laves om til en ny linje med nogle knapper i 4. den nye linje har erstattet den gamle linje og nu sendes det hele tilbage til klienten
og taster han i samme textarea/input hvor inputtet vises ? eller er der et indtastningsfelt hvor hver indtastning tilføjes et eller andet display felt ?
1. Bruger indtaster tekst i et felt 2. Der sker et postback, hvor indholdet gemmes i en database 3. Indholdet tages ud fra databasen og vha. forudbestemt difinition f.eks. [bid=*], bliver der erstattet med imagebuttons.
4. De imagebuttons kan trykkes på, hvorefter knap_command handleren bliver aktiveret.
<asp:label ID="tekst" runat="server" text="Teksten er bla bla " /> <asp:imagebutton ID="linkbillede" runat="server" commandargument="2" /> <asp:label ID="tekst" runat="server" text=" tekst tekst tekst..." />
Hehe.. det bliver vi vist alle ramt af på et tidspunkt.. :P
Men hvis du på et tidspunkt når tilbage, kan det være du kan hjælpe mig, hvis der ellers ikke er andre der har undervejs.
Den kode du kom med, er ca. så langt som jeg selv er nået. Og det virker også efter hensigten. Men problemer et at jeg vil lave denne automatisk, ud fra den tekst der ligger i min String.
Du skal finde en "klump" i din string og vide hvad den indeholder. Du kan bruge Regexp til det - den matcher noget med forekomsterne af dette "noget" i din streng. Jeg er en rexexp idiot, så vent på mere kvalificere regexp hjælp - hvis det altså er der problemet ligger, ellers skriv specifikt hvad (og du bliver skudt for brug af meningsløse fyldord som "virker ikke" ) ! :)
Hvordan man kalder det afh lidt af sproget, men princippet er det samme : finde noget som matcher/ikke matcher noget, eller at finde noget som er omkranset af nogle tegn osv.
Og så takker jeg for at sender mig i den rigtige retning. :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.