---
title: "Submit fungerar bara en gång?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/56931-submit-fungerar-bara-en-gång"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "kristoffer"
published: "2002-10-24T07:07:48.000Z"
updated: "2002-10-24T11:31:35.000Z"
replies: 11
views: 244
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/56931-submit-fungerar-bara-en-gång"
---

# Submit fungerar bara en gång?

## #1 — kristoffer, 2002-10-24T07:07Z

Jag har ett formulär som användaren skall fylla i. I formuläret skall användaren kryssa i en eller flera kryssrutor i en CheckBoxList. Om så ej skett skall ett felmeddelande visas. Jag har följande kod:

```
private void Submit1_ServerClick(object sender, System.EventArgs e)
		{
			bool error = true;
			int j = 0;
			while (error && j<CheckBoxList1.Items.Count)
				error = !CheckBoxList1.Items[j++].Selected;

			if (error)
			{
				Label1.Text = "fel";
                                return;
			}

... //Sätt in data
}
```

 

Det fungerar första gången användaren klickar på submit-knappen. Andra gången (oavsett om han nu har kryssat i någon kryssruta eller ej) går programmet ej in i Submit1_ServerClick. Varför?

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

## #2 — Zyax, 2002-10-24T07:53Z

Har du code-behind kan du inte sätta metoden till private

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

## #3 — kristoffer, 2002-10-24T08:03Z

Öh, det fungerar ju första gången? Du menar alltså Submit1_ServerClick?

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

## #4 — Zyax, 2002-10-24T08:20Z

protected void skall det stå ja
Kolla om det funkar. Jag vet inte annars vad som kan vara fel...

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

## #5 — kristoffer, 2002-10-24T08:34Z

Fungerar inte. Verkar inte troligt heller.

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

## #6 — Zyax, 2002-10-24T08:42Z

Den kommer ju alltid skriva ut fel om du inte sätter den labeln någon annanstans eller att den glömmer sin "viewstate"

else{
  Label1.Text="inte fel";
}

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

## #7 — kristoffer, 2002-10-24T08:44Z

Jag har ju bara 

```
<asp:Label id="Label1" runat="server" ForeColor="Red"></asp:Label>
```

 

Alltså ingen text om inte fel.

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

## #8 — Zyax, 2002-10-24T08:45Z

Ja, men vad händer andra gången? 

Skriver den ut: fel 
eller skriver den ut ingenting

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

## #9 — kristoffer, 2002-10-24T09:12Z

Felmeddelandet står kvar andra gången. Om man andra gången hade kryssat i någon checkbox så försvinner dessa kryss, men felmeddelandet och även det som användaren angett i TextBoxarna står alltså kvar.

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

## #10 — NETwork, 2002-10-24T09:24Z

Felet beror på att en label behåller sina värden efter postbacks. Du sätter texten i labeln om ett fel uppstår till "fel", om du sedan andra gången kryssar i något så måste du tömma texten i din label annars kommer texten "fel" att finnas kvar.

if (error)
			{
				Label1.Text = "fel";
                                return;
			}
else {
Label1.Text = "";
}

Det låter däremot konstigt att eventuella kryss i din checkboxlist skulle försvinna, precis som med labeln så kommer den ihåg sina värden över postbacks med hjälp av viewstate.

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

## #11 — kristoffer, 2002-10-24T11:13Z

Nej, det löser inte problemet. Formen submittas ändå inte. 

Jag har aldrig varit med om något märkligare: Om jag väntar ett tag och därefter kryssar i en kryssruta och och klickar på submit så fungerar det. Men det fungerar alltså inte om jag gör det direkt efter.

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

## #12 — kristoffer, 2002-10-24T11:31Z

Nu har jag löst det:

Kan det bero på att jag har:

```
<%@ OutputCache Duration="60" varybyparam="id" varybycustom="LanguageChoice" %>
```

 längst upp på aspx-sidan?

Jag löste det i alla fall genom att lägga till 

```
buffer="False"
```

 i 

```
<%@ Page language="c#" Codebehind="foo.aspx.cs" AutoEventWireup="false" Inherits="bar.foo" %>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/56931-submit-fungerar-bara-en-gång
