webForumDet fria alternativet

TextBoxar, aktivt ändra värde beroende på inmatning

.NET

8 svar · 272 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Hej!

Jag har 3 textboxar, textbox3 ska innehålla värdet av det som skrivs in i textbox1 och textbox2. Jag vet att man kan lösa det smidigt med javascript, jag undrar bara om det finns något annat sätt i asp.net att lösa det. Tanken är att ändrar man i textbox1 eller textbox2 så ändras värdet i textbox3 automatiskt.

Tacksam

Medlem sedan sep. 20011 914 inlägg
#2

.aspx file

<asp:TextBox ID="tbBox1" AutoPostBack="true" OnTextChanged="Text_Change" Runat="server"/>
<asp:TextBox ID="tbBox2" AutoPostBack="true" OnTextChanged="Text_Change" Runat="server"/>
<asp:TextBox ID="tbBox3" Runat="server"/>

code-behind

Protected WithEvents tbBox1, tbBox2, tbBox3 As TextBox
Sub Text_Change(ByVal sender As System.Object, ByVal e As System.EventArgs)
   tbBox3.Text &= tbBox1.Text & tbBox2.Text
End Sub
Medlem sedan mars 20023 561 inlägg
#3

Eller så här:

<asp:TextBox ID="Textbox1" Runat="server"/>
<asp:TextBox ID="TextBox2" Runat="server"/>
<asp:TextBox ID="TextBox3" Runat="server"/>

code-behind

Sub textbox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.OnTextChanged
     Textbox3.Text += TextBox1.Text & Textbox2.Text
End Sub
Medlem sedan maj 20012 812 inlägg
#4

mmm... men båda dessa kräver att sidan laddas om. Vilket inte skulle rekomenderas.

Så även om ASP.NET är bra, så skall man försöka hålla sådan funktioner på klienten med hjälp av javascript.

- M

Medlem sedan sep. 20011 914 inlägg
#5

Re: TextBoxar, aktivt ändra värde beroende på inmatning

erka skrev:

Jag vet att man kan lösa det smidigt med javascript, jag undrar bara om det finns något annat sätt i asp.net att lösa det.

Medlem sedan dec. 19996 522 inlägg
#6

Löste det med javascript, insåg att det var smidigare, tack för tippsen iaf. :) Nu ska jag gå upp å fira att de har köpt in en ny kaffemaskin, ett monster som kan göra just espresso :)

Medlem sedan jan. 20012 204 inlägg
#7

Spinner vidare på denna tråd!

Jag har runt 6 dropdownlistor. Jag vill att inget värde ska vara lika i flera listor. Väljer man ett värde som redan finns ska det gamla försvinna. Hur gör man lättast ( bäst ) detta? ( Vill inte att man ska behöva klicka Submit, utan det ska göras direkt)

Finns något inbyggt i .net för detta eller är det javascript som gäller?

Medlem sedan juni 20011 732 inlägg
#8

Alltså, det går med båda. Skillnaden är ju att med .net måste du göra det serverside, med javascript gör du det på klienten - asp.net är ju inte tänkt att ersätta klientscript på något sätt. Att säga att man vill undvika javascript bara för att man jobbar med .net är en tankevurpa tycker jag, tvärtom passar de ju utmärkt tillsammans...

Det är nog ungefär lika svårt (eller lätt) att göra det vare sig du använder javascript eller en .net-lösning. Logiken i sig blir ju identisk, det är ju hur man triggar eventen som skiljer sig åt. Men javascript är fint... :)

Medlem sedan maj 20012 812 inlägg
#9

Måste hålla med NETwork, har märkt att många fler skippar JavaScript biten och gör nästan all sina "event" på serversidan.

Det är otroligt enkelt (enklare än JavaScript) men kräver mer prestanda av servern, visa saker skulle jag ändå gör på servern fast man klara det bra på klienten, men mycket bör (SKALL) göras på klienten, vilket båda av ovanståend frågor är bra exempel på.

- M

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)