---
title: "Property värde för integer försvinner."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/162591-property-värde-för-integer-försvinner"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Fredde Mannen"
published: "2007-07-16T07:20:59.000Z"
updated: "2007-07-16T09:23:22.000Z"
replies: 5
views: 372
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/162591-property-värde-för-integer-försvinner"
---

# Property värde för integer försvinner.

## #1 — Fredde Mannen, 2007-07-16T07:20Z

Jag vet inte vad det är som är fel, eller vars värdet tar vägen.. 
Har en ddl med ett antal val, 

ddl vid button_click skickar värdet på detta sätt in i en control 

```
If IsNumeric(ddl.SelectedValue.ToString) Then
            Response.Write(ddl.SelectedValue)
            ctrlBannerList.DistrictId = ddl.SelectedValue
        Else
            ctrlBannerList.DistrictId = Integer.MinValue
        End If
```

Här på response.write, skriver den ut värdet.. 

I controllen så har jag en property 

```
    Private m_DistrictId As Integer
    Public Property DistrictId() As Integer
        Get
            Return m_DistrictId
        End Get
        Set(ByVal Value As Integer)
            m_DistrictId = Value
        End Set
    End Property
```

Som skal fånga upp värdet och sätta in den i följande metod 

```
    Private Sub BindControls()
        Dim read As New GetData
        Dim ds As DataSet

        If Me.DistrictId <> Integer.MinValue Then
            Response.Write(Me.DistrictId)
            ds = read.GetRandomBanners(Today, Me.DistrictId)
        End If

        If Not ds Is Nothing Then
            rptBannerList.DataSource = ds
            rptBannerList.DataBind()
        End If
    End Sub
```

Men, här skriver Den ut Me.DistrictId som 0, och inte det värde som skrivs ut i tidigare.. så någonstans försvinner värdet.. för DET finns ju, har ju kollat det, men var tar det vägen?

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

## #2 — Fredde Mannen, 2007-07-16T07:48Z

Kanske ge er lite mer kött på benen :)

Search.aspx 

```
<%@ Register TagPrefix="uc1" TagName="BannerListCtrl" Src="~/controls/BannerListCtrl.ascx" %>
<uc1:BannerListCtrl runat="server" id="ctrlBannerList" />
```

Search.aspx.vb

```
 Protected WithEvents ctrlBannerList As BannerListCtrl

' I Button_Click metoden metoden.. 

If IsNumeric(ddl.SelectedValue.ToString) Then
            Response.Write(ddl.SelectedValue)
            ctrlBannerList.DistrictId = ddl.SelectedValue
        Else
            ctrlBannerList.DistrictId = Integer.MinValue
End If
```

Men men.. den skickar aldrig värdet till controllen..

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

## #3 — CatZ, 2007-07-16T08:45Z

Om du har Visual Studio kan du ju stega igenom funktiionen och se vad som går fel.

Jag skulle tro att 

```
If IsNumeric(Convert.ToInt32(ddl.SelectedValue.ToString)) Then
```

 i princip borde lösa dina problem eftersom det visar sig varje gång att ddl.SelectedValue.ToString inte blir numeriskt av en eller annan anledning. Integer.MinValue är ju som sagt 0.

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

## #4 — emission, 2007-07-16T08:49Z

1\. Slå på Option Strict överallt
2\. Använd [Integer.TryParse](http://msdn2.microsoft.com/en-us/library/f02979c7.aspx)  i stället för IsNumeric (säkerställer att det är Integer)
3\. Kontrollen bör även lagra värdet i ViewState. Annars försvinner det i nästa postback.
4\. BindControls måste köras efter Button_Click.

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

## #5 — Fredde Mannen, 2007-07-16T09:19Z

> **emission skrev:**
>
> 1\. Slå på Option Strict överallt
> 2\. Använd [Integer.TryParse](http://msdn2.microsoft.com/en-us/library/f02979c7.aspx)  i stället för IsNumeric (säkerställer att det är Integer)
> 3\. Kontrollen bör även lagra värdet i ViewState. Annars försvinner det i nästa postback.
> 4\. BindControls måste köras efter Button_Click.

Jo jo.. men Integer.TryParse är inte .NET 1.0 

satt över den i viewstate, visste att det var något som saknades :e Så visst funkar det nu, men inte riktigt till fullbelåtenhet, utan den ändrar värdet först efter andra klicket på submitknappen..

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

## #6 — Fredde Mannen, 2007-07-16T09:23Z

Löste detta med uppdateringen genom att göra BindControls public i kontrollen och anropa den från Search.aspx.vb 

Nu uppdaterar den som den skall... :)

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/162591-property-värde-för-integer-försvinner
