29. juni 2009 - 11:00
Der er
16 kommentarer og 2 løsninger
Hvordan gøres en Textbox aktiv?
Jeg er ikke helt klar over om dette er det rette forum, men det ligger sig sådan at jeg har 1 radiobutton. Når der bliver trykket på den skal min textbox blive enabled. Jeg har kastet mig ud i at dobbeltklikke på min radiobutton, hvor jeg har skrevet følgene C# kode: protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { TextBox3.Enabled = false; TextBox3.Text = ""; TextBox3.Focus(); } Når, jeg trykker på min radiobutton sker der absolute intet. Gør jeg noget forkert?
Annonceindlæg fra Infor
Ahh, crap. Der skulle stå protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { TextBox3.Enabled = true; TextBox3.Text = ""; TextBox3.Focus(); } Men det sker der stadig ikke noget ved. :)
Det kan være du har sat TextBox3.ReadOnly = true uden at kunne huske det? Så prøv at tilføje TextBox3.ReadOnly = false i din event handler. /CS
Du skal sætte AutoPostBack="true"
Hvorfor løse client opgaver på serveren ? Prøv: protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { Response.Write("Jeg bruger C# til frontend"); } Hvis ikke det kommer til at stå i toppen af markuppen ved klik, har du ikke bundet den event ordentligt på metoden.
I din markup, skal den altså se sådan ud: <asp:RadioButton runat="server" ID="RadioButton1" AutoPostBack="true" OnCheckedChanged="RadioButton1_CheckedChanged" Text="Min radiobutton" />
Hvis jeg sætter AutoPostBack = 'true' og skriver det her: protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { Response.Write("Jeg bruger C# til frontend"); } Får jeg svar, men hvis jeg skriver det her: protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { TextBox3.Enabled = true; } Sker der intet. Min radiobutton ser således ud: <asp:RadioButton ID="RadioButton1" runat="server" GroupName = "group1" AutoPostBack="True" oncheckedchanged="RadioButton1_CheckedChanged" />
hvordan ser din textbox ud ? i aspx/ascx filen ?
Du kan ikke bruge Enabled propertien til dette. Du skal kalde Focus() metoden. protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { TextBox3.Focus(); }
<asp:textbox runat="server" id="TextBox3" enabled="false" /> ?
29. juni 2009 - 13:10
#10
hvis den ikke er enabled, kan han ikke sætte focus.. Eller det er umuligt med JS, så må det også være med C#. Jeg ville sige: TextBox3.Enabled = (!TextBox3.Enabled); TextBox3.Focus(); /J
29. juni 2009 - 14:54
#11
Nå, men det så ikke ud til at min post før blev oprettet. Jeg fik det til at virker alligevel på en eller anden måde. Jeg tror at det var AutoPostback der gjorde det. Både denne løsning: TextBox3.Enabled = true; TextBox3.Focus(); og denne virkede: TextBox3.Enabled = (!TextBox3.Enabled); TextBox3.Focus(); Hvad er forskellen? Og så må I lige ligge et svar.
29. juni 2009 - 14:57
#12
forskellen er at hvis du vælger en anden radiobutton så vil den skjule sig. Men ja autopostback er ret vigtig, så det er fint med mig hvis aaberg vil have alle. /J
29. juni 2009 - 15:02
#13
svar :-)
29. juni 2009 - 15:20
#14
Men en anden gang syntes jeg du skulle sætte dig lidt ind i javascript, så undgår du det postback.
29. juni 2009 - 16:17
#15
Ok. Det vil jeg tænke over.
29. juni 2009 - 16:21
#16
ja, resultatet er det samme, du spare bare lige en rundtur omkring serveren.
29. juni 2009 - 16:42
#17
.. jeg løj hvis også da jeg sagde: #12: forskellen er at hvis du vælger en anden radiobutton så vil den skjule sig. ... Mit eksempel sætter den kun til true hvis den ikke allerede er det. skal den toogle må det være noget ala: tb.Enabled = tb.Enabled ? false : true;
30. juni 2009 - 09:48
#18
Hvor skal det står henne?
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.