---
title: "login problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/104501-login-problem"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "dea"
published: "2004-05-28T12:39:51.000Z"
updated: "2004-05-30T11:34:38.000Z"
replies: 9
views: 632
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/104501-login-problem"
---

# login problem

## #1 — dea, 2004-05-28T12:39Z

```
CS0117: 'ASP.login_aspx' does not contain a definition for 'LoginBtn_Click'

 [red]Line 12:[/red] <asp:button id="LoginBtn" OnClick="LoginBtn_Click" Text="login" runat="server" />
```

vad är det för fel?

här kommer min kod

aspx koden: 

```
<%@ Page language="c#" Codebehind="login.aspx.cs" AutoEventWireup="false" %>
<HTML>
	<HEAD>
		<title>Login</title>
	</HEAD>
	<body>
		<form runat="server" ID="Form1">
			Namn:<asp:textbox MaxLength="15" id="UserID" runat="server" />
			<br>
			Lösen:<asp:textbox MaxLength="15" id="PassWrd" runat="server" TextMode="Password" />
			<br>
			<asp:button id="LoginBtn" OnClick="LoginBtn_Click" Text="login" runat="server" />
			<br>
			<asp:label id="lblMessage" runat="server" ForeColor="Red" Font-Size="8pt" Font-Name="Verdana" />
		</form>
	</body>
</HTML>
```

aspx.cs koden:

```
public class login : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.TextBox UserID;
		protected System.Web.UI.WebControls.TextBox PassWrd;
		protected System.Web.UI.WebControls.Button LoginBtn;
		protected System.Web.UI.WebControls.Label lblMessage;
	
		void Page_Load(System.Object sender, System.EventArgs e) 
		{
			lblMessage.Text = "Skriv in namn och lösen !!";
		}

		protected void LoginBtn_Click(System.Object sender, System.EventArgs e) 
		{

			if (UserID.Text == "hej" && PassWrd.Text == "svejs") 
			{

				FormsAuthenticationTicket Kodexempel = new FormsAuthenticationTicket(UserID.Text, true, 5000);

				FormsAuthentication.RedirectFromLoginPage(UserID.Text, true);

				Response.Redirect("protected/addpicture.aspx"); 
			}
			else 
			{
				lblMessage.Text = "Fel Namn eller Lösen !!";
			} 
		}
```

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

## #2 — PDahlen, 2004-05-28T13:07Z

Din LoginBtn_Click är protected utan Handles. Jag kör visserligen VB i vanliga fall men det är något liknande med C#.

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

## #3 — Josef, 2004-05-28T13:57Z

Du får lägga till en rad i funktionen InitializeComponent. Någonting liknande: *LoginBtn.Click += new EventHandler(LoginBtn_Click);*

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

## #4 — PDahlen, 2004-05-28T14:22Z

Men, läste lite om det, om man lägger till en EventHandler så måste man ta bort OnClick i kontrollen. Annars så körs funktionen två gånger.
VB.NET hanterar det automatiskt men inte C#.

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

## #5 — Josef, 2004-05-28T14:27Z

Varför ska man har OnClick i kontrollen? Det finns ju ingen fördel med det jämfört med att ha det code-behind.

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

## #6 — PDahlen, 2004-05-28T15:40Z

Nej, det är bara två sätt att göra samma sak.

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

## #7 — Josef, 2004-05-28T15:49Z

> **PDahlen skrev:**
>
> Nej, det är bara två sätt att göra samma sak.

Jag vet, det var därför jag undrade vad du såg för fördelar med att ha det utanför code-behind:en.

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

## #8 — PDahlen, 2004-05-28T16:37Z

Jag skrev bara att han måste ta bort OnClick i kontrollen om man lägger till en EventHandler. I koden ovan finns nämligen OnClick med.

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

## #9 — Gladh, 2004-05-29T14:40Z

Det är enklare att koda med OnClick i ASP:Controllern och sedan göra sin Eventfunktion som protected.

Det andra alternativet är att som ni säger att man lägger en eventlyssnare i codebehinde klassen och har sin Eventfunktion private.

Båda lösningar gör samma sak, det är en smaksak vilken man väljer.

\- M

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

## #10 — onkelborg, 2004-05-30T11:34Z

> **Gladh skrev:**
>
> Det är enklare att koda med OnClick i ASP:Controllern och sedan göra sin Eventfunktion som protected.
> 
> Det andra alternativet är att som ni säger att man lägger en eventlyssnare i codebehinde klassen och har sin Eventfunktion private.
> 
> Båda lösningar gör samma sak, det är en smaksak vilken man väljer.
> 
> \- M

Jag håller nog inte med dig riktigt; om du använder OnClick i "html-koden" så har du väldigt begränsade möjligheter att ta bort den sedan. Dvs. om du inte längre vill lyssna på det klick-eventet. En annan fördel är att du kan (om du vill) ändra namn på saker i codebehind-classen utan att behöva ändra i "html-koden".

T.ex.
mitt_object.Click += blablabla
Det där lägger till en eventhandler
mitt_object.Click -= blablabla
Det där tar bort en eventhandler

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/104501-login-problem
