---
title: "autopostback"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/56897-autopostback"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "andreas_lindh"
published: "2002-10-23T18:33:30.000Z"
updated: "2002-11-25T14:08:44.000Z"
replies: 14
views: 466
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/56897-autopostback"
---

# autopostback

## #1 — andreas_lindh, 2002-10-23T18:33Z

Jag har ett fält där man kan välja antal spelare

jag skulle vilja skriva ut det antal textfält som användaren väljer men vet inte rikigt hur jag ska lösa det.
Någon som vet hur jag kan göra.
Använder vb.net

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

## #2 — NETwork, 2002-10-24T06:12Z

Här är ett exempel på hur du kan skapa asp.net-kontroller dynamiskt:

KOD:
<http://www.dotnetjunkies.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/ctrlref/webctrl/Panel/Panel1.src&file=VB\Panel1.aspx&font=3>

RESULTAT:
<http://www.dotnetjunkies.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/Panel/VB/Panel1.aspx>

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

## #3 — andreas_lindh, 2002-11-11T13:08Z

Dett fungerar perfekt men hur ska jag göra för att hämta värdet i det skapade textfältet?

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

## #4 — P, 2002-11-11T15:26Z

dim apple as string
apple=Textbox1.Text

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

## #5 — andreas_lindh, 2002-11-11T16:05Z

Men textboxarna heter ju namn + i som är ett tal
Har försökt med
namn"+ i +".text men det fungerar inte

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

## #6 — P, 2002-11-11T17:07Z

namn & "+ i +".text

kanske

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

## #7 — andreas_lindh, 2002-11-11T17:45Z

gruppnamn & "+ i +".text

Detta fungerade inte

Här är koden

```
dim i as integer
		for i = 1 to CInt(antalgrupper.selecteditem.text)
			
			dim strsql2 as string ="insert into grupper(cup_id,namn) values (" + id1 + ",'" + namn + "')" 
			dim objcmd2 as new oledbcommand(strsql2, objconn)
			objcmd2.connection.open()
			objcmd2.executenonquery()
			objcmd2.connection.close()
		next
```

jag skapar textboxarna så här

```
sub skapa(obj as object, e as eventargs)
			Dim numtexts as Integer
			Dim i as Integer
			numtexts = CInt(antalgrupper.selecteditem.text)
			For i = 1 To numtexts
                Dim t As TextBox = New TextBox()
                t.Text = "Gruppnamn" & i
                t.ID = "Gruppnamn" & i
                Label1.Controls.Add(t)
                Label1.Controls.Add(new LiteralControl("<br />"))
            Next
        End Sub
```

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

## #8 — andreas_lindh, 2002-11-13T21:46Z

Ingen som har något exempel på hur man kan göra

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

## #9 — renholm, 2002-11-13T22:09Z

För att hämta värdena skulle du nog kunna använda .FindControl("Gruppnamn" & i).

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

## #10 — andreas_lindh, 2002-11-14T10:07Z

Fungerade inte. Får felmedelande:

```
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error: 

Line 35: 		for i = 1 to CInt(antalgrupper.selecteditem.text)
Line 36: 			dim tbnamn as textbox = FindControl("Gruppnamn" & i)
Line 37: 			dim namn as string = tbnamn.text
Line 38: 			dim strsql2 as string ="insert into grupper(cup_id,namn) values (" + id1 + ",'" + namn + "')" 
Line 39: 			dim objcmd2 as new oledbcommand(strsql2, objconn)
 

Source File: h:\inetpub\wwwroot\cup\addcup.aspx    Line: 37
```

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

## #11 — renholm, 2002-11-14T11:47Z

Page.Controls.FindControls testa det, annars får du kontrollera så den inte råkar loopa en för mycket.

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

## #12 — andreas_lindh, 2002-11-14T12:09Z

Nytt felmedelande.

```
Compiler Error Message: BC30456: 'FindControl' is not a member of 'System.Web.UI.ControlCollection'.

Source Error:

 

Line 34: 		dim i as integer
Line 35: 		for i = 1 to CInt(antalgrupper.selecteditem.text)
Line 36: 			dim tbnamn as textbox = Page.Controls.FindControl("Gruppnamn" & i)
Line 37: 			dim namn as string = tbnamn.text
Line 38: 			dim strsql2 as string ="insert into grupper(cup_id,namn) values (" + id1 + ",'" + namn + "')" 
 

Source File: h:\inetpub\wwwroot\cup\addcup.aspx    Line: 36
```

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

## #13 — andreas_lindh, 2002-11-25T12:07Z

Jag fick göra så här för att det skulle fungera

```
request.form("gruppnamn" & i)
```

Kanske inte den bästa lösningen men den fungerar

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

## #14 — PatrikB, 2002-11-25T13:24Z

annars funkar detta här:

```
<%@ Page Language="VB" %>
<script runat="server">

    Private Sub Page_Load(sender As Object, e As EventArgs)
        Dim t As New TextBox()
        t.Text = "Skriv:"
        t.Id = "txt1"
    
        txt.Controls.Add(t)
    End Sub
    
    Public Sub txtBox_Click(Sender as object, e as eventargs)
        Dim _box As Control = FindControl("txt1")
        If (Not _box Is Nothing) Then
            If (TypeOf _box Is TextBox) Then
                Dim txtBox = CType(_box, TextBox)
                txtBox.Text += " : <edit>"
            End If
        End If
    End Sub

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <span id="txt" runat="server"></span> <asp:LinkButton id="lnkButton" runat="server" onClick="txtBox_Click">Ändra</asp:LinkButton>        
    </form>
</body>
</html>
```

du får principen men detta kräver lite mer jobb då det är hårdkodat inne i subben som ändrar själva värdet inne i textboxen. Detta behöver ändras till mer dynamik ;)

cya,
PatrikB

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

## #15 — PatrikB, 2002-11-25T14:08Z

ett litet mer dynamiskt test om du ändrar mellan scriptaggarna så att det ser ut så här:

```
<script runat="server">

    Private Sub Page_Load(sender As Object, e As EventArgs)
        Dim n as integer
        For n = 0 to 10
            Dim t As New TextBox()
            t.Text = "Skriv:"
            t.Id = "txt" & n.tostring()
        
            txt.Controls.Add(t)
            txt.Controls.Add(New LiteralControl("<br />"))
        Next n
    End Sub
    
    Public Sub txtBox_Click(Sender as object, e as eventargs)
        Dim n as integer = 0
        
        '## -- load first control --
        Dim _box As Control = FindControl("txt0")
        
        '## -- loop while we have controls to add --
        Do While (Not _box Is Nothing)
            '## -- check if the control is of type <TextBox> --
            If (TypeOf _box Is TextBox) Then
                '## -- strongly type the control to <TextBox> --
                Dim txtBox = CType(_box, TextBox)
                
                '## -- process data in the textbox control --
                txtBox.Text += " : <edit>"
            End If
            n += 1
            '## -- load new control --
            _box = FindControl("txt" & n.tostring())
        Loop
        
    End Sub

</script>
```

cya,
PatrikB

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/56897-autopostback
