webForumDet fria alternativet

login problem

9 svar · 616 visningar · startad av dea

deaMedlem sedan dec. 2002387 inlägg
#1
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 !!";
			} 
		}
PDahlenMedlem sedan apr. 2004778 inlägg
#2

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

JosefMedlem sedan mars 20023 561 inlägg
#3

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

PDahlenMedlem sedan apr. 2004778 inlägg
#4

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#.

JosefMedlem sedan mars 20023 561 inlägg
#5

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.

PDahlenMedlem sedan apr. 2004778 inlägg
#6

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

JosefMedlem sedan mars 20023 561 inlägg
#7

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.

PDahlenMedlem sedan apr. 2004778 inlägg
#8

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.

GladhMedlem sedan maj 20012 812 inlägg
#9

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

onkelborgMedlem sedan juli 2003555 inlägg
#10

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

137 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)