Avatar billede wired Nybegynder
04. marts 2007 - 01:35 Der er 7 kommentarer og
1 løsning

Programmerede Textbox postback

Hvordan får jeg indholdet af min programmerede TextBox?

Jeg har følgende:

protected void Page_Load(object sender, EventArgs e)
{
  Button BT = new Button(); BT.Text = "Indskriv data?";
  BT.Click += new EventHandler(BT_Click);
  PlaceHolder1.Controls.Add(BT);
}

void BT_Click(object sender, EventArgs e)
{
  TextBox TB = new TextBox(); TB.Text = "Send data";
  PlaceHolder1.Controls.Add(TB);
}

Næste gang der trykkes på knappen, vil jeg gerne modtage de data som brugeren har indtastet.

Hvorledes gøres dette. Det er vigtigt at det siden opbygges programmerbart da dette kun er princippet fra en større opgave.
Det ønskes ikke at der er en hidden TextBox på siden, som bliver displayed ved første klik.
Avatar billede kalp Novice
04. marts 2007 - 09:32 #1
if(IsPostBack)
{
hent teksten fra din textboks.
}
Avatar billede wired Nybegynder
04. marts 2007 - 18:21 #2
Skal jeg skrive det i Page_Load? og før eller efter jeg definere en knap?
eller skal det være i BT_Click? og før eller efter jeg definere selve tekstboksen?
Avatar billede kalp Novice
04. marts 2007 - 18:29 #3
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
  Button BT = new Button(); BT.Text = "Indskriv data?";
  BT.Click += new EventHandler(BT_Click);
  PlaceHolder1.Controls.Add(BT);
}
else
{
hent teksten fra din textboks.
}
}
Avatar billede wired Nybegynder
04. marts 2007 - 19:02 #4
I dit tilfælde er tekstboksen der ikke ellerv også er button der ikke?
Avatar billede kalp Novice
04. marts 2007 - 19:14 #5
Nu er jeg med.. lidt sort hvad du ville helt præcist.

I nedenstående eksempel henter jeg teksten fra boksen og gemmer det i en string.. du gør med den hvad du vil

void BT_Click(object sender, EventArgs e)
{
if(this.Page.FindControl("minBoks") is TextBox)
{
string tekst = ((TextBox)this.Page.FindControl("minBoks")).Text;
}else{
TextBox TB = new TextBox(); TB.Text = "Send data";
TB.ID = "minBoks";
PlaceHolder1.Controls.Add(TB);
}
}
Avatar billede wired Nybegynder
04. marts 2007 - 19:34 #6
Den finder aldrig en control med id/navn "minBoks"
Avatar billede kalp Novice
04. marts 2007 - 19:38 #7
Gør dette en forskel?

void BT_Click(object sender, EventArgs e)
{
if(Request["minBoks"] != null)
{
string tekst = Request["minBoks"].ToString();
}else{
TextBox TB = new TextBox(); TB.Text = "Send data";
TB.ID = "minBoks";
PlaceHolder1.Controls.Add(TB);
}
}

og ellers fortæl mere præcist hvad du vil opnår så laver jeg et eksempel du kan hente istedet.
Avatar billede wired Nybegynder
04. marts 2007 - 20:03 #8
Det var underligt. Det virker med Request men ikke med FindControl.

Tak for hjælpen...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Cognizant Technology Solutions Denmark ApS

Senior Delivery Manager

Queue-it ApS

Team Lead Engineering

PensionDanmark

Business Tester

Capgemini Danmark A/S

Salesforce CTO - Nordics

Udlændinge- og Integrationsministeriet

Contract Managers til kontrakt- og leverandørstyring