---
title: "TextBox i Repeater, textchange-problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/118610-textbox-i-repeater-textchange-problem"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "matthew"
published: "2004-12-23T12:53:01.000Z"
updated: "2004-12-23T12:53:01.000Z"
replies: 0
views: 480
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/118610-textbox-i-repeater-textchange-problem"
---

# TextBox i Repeater, textchange-problem

## #1 — matthew, 2004-12-23T12:53Z

Hej!

Hoppas det finns någon vänlig själ som i dessa juletider vill hjälpa till med ett problem.

Det är så att jag har en repeater, med en TextBox och en knapp (remove) i varje row.
jag lyckas inte få OnTextChanged-event att funka, så jag vill iallafall se till att värdet i TextBox'en överrensstämmer med DataSource... detta verkar ju inte ske automatiskt...
TextBox'en är bunden till DataSource enligt:

```
text='<%# DataBinder.Eval(Container.DataItem, "ArticleQuantity") %>'
```

och jag börjar i codebehinden så här:

```
DataSet dsTemp = new DataSet("Test");
DataTable dtTemp = new DataTable("TestTable");

private void Page_Load(object sender, System.EventArgs e)
{		
    if((DataTable)ViewState["dt"] != null) 
    {
        dtTemp = (DataTable) ViewState["dt"];
        dsTemp.Tables.Add(dtTemp);
        Repeater1.DataSource = dsTemp;
        Repeater1.DataBind();
    }
    else
    {
        dtTemp.Columns.Add("ArticleId", typeof(int));
        dtTemp.Columns.Add("ArticleName",typeof(string));
        dtTemp.Columns.Add("ArticleQuantity", typeof(int));
    }
```

Jag lyckas enkelt med att lägga till och ta bort rader, inga problem alls... Sparar även DataTable't som ett ViewState.
Problemet är att jag, då jag inte fått någon OnTextChanged-event att funka, på vissa ställen skulle vilja kunna sätta källan (int-värdet i kolumnen i den raden i det DataTable't) till värdet som representeras i TextBox'en:

```
foreach(RepeaterItem item in Repeater1.Items) 
{
    try
    {						
        dtTemp.Rows[item.ItemIndex]["ArticleQuantity"] = Int32.Parse(((TextBox)item.Controls[1]).Text);
        ViewState["dt"] = dtTemp;
    } catch(Exception){}
}

dsTemp.Tables.Clear();
dsTemp.Tables.Add(dtTemp);
Repeater1.DataSource = dsTemp;
Repeater1.DataBind();
```

Eftersom koden körs men det ändå blir värdet som satts vid skapande av nya rader, i detta fall så satt jag ArticleQuantity till 100 som test. 
Om jag ändrar värden i TextBox'en och trycker på en knapp som går igenom alla Items, så vid nästa Page_Load så blir det fortfarande 100 på varenda TextBox.
Då undrar jag om man verkligen får ut texten i TextBox'en genom kontrollerna så där? Eller måste man göra på nått helt annat sätt?
I slutändan vill jag ju egentligen ha en OnTextChanged-event...
Kanske bättre att inte använda Repeater? Fast tycker att Repeater har sina fördelear, om man lyckas få kontroll över sina Controls  ;)

Vad gör jag för fel?

Vore ytterst tacksam för svar!

Permalänk: https://www.webforum.nu/p/118610

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/118610-textbox-i-repeater-textchange-problem
