Vererbung einfach zu blöd dafür

28/01/2009 - 10:59 von Pawel Warmuth | Report spam
Hi Comm ,

sowas is mir als c# Programmierer ja noch nie untergekommen aber folgendes
Problem :

Ich habe eine Login.aspx

dort gib es ein Label

CODE :

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs"
Inherits="WebUmfrag.main.Login" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xht...">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" >
<div>

<asp:Login ID="Login1" runat="server">
</asp:Login>
<br />
<asp:Label ID="lblStatus" runat="server"
Text="ausgeloggt"></asp:Label>

</div>
</form>
</body>
</html>

Und er Code dahinter :

namespace WebUmfrag.main
{
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
}

public partial class MyMembershipProvider : MembershipProvider
{
public override bool ValidateUser(string username, string password)
{
bool bRet = false;
using (SqlConnection sqlCon = new
SqlConnection(ConfigurationManager.ConnectionStrings["localSqlServer"].ConnectionString))
{
using (SqlCommand sqlCmd = new SqlCommand())
{
sqlCmd.Connection = sqlCon;
sqlCmd.CommandText = "Select Count(*) from Users Where
Username =@username AND Password =@password";
sqlCmd.Parameters.AddWithValue("@username", username);
sqlCmd.Parameters.AddWithValue("@password", password);
sqlCon.Open();
Object result = sqlCmd.ExecuteScalar();
if (result != null)
{
if ((int)result == 1)
{
bRet = true;
}
}
}
}
if (bRet)
{

}
return bRet;
}
}

so im page_load kann ich das Label ansprechen , in meinen Membershipprovider
aber nicht .

irgendwas habe ich sicher vergessen oder ?

Grüße
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
28/01/2009 - 11:08 | Warnen spam
Hallo Pawel,

"Pawel Warmuth" schrieb:

Ich habe eine Login.aspx

dort gib es ein Label



und damit dürfte die Frage doch schon geklàrt sein. Deine Klasse Login
beinhaltet das Label Control. Deine Klasse MyMembershipProvider nunmal
nicht. Also müsstest Du entweder dafür sorgen, dass die Referenz auf
die Instanz des Labels übergeben wird oder, was ich für sinnvoller halte,
dass der Wert dort ausgelesen wird, wo er abgreifbar ist (in der Login
Klasse) und dann halt nur der Wert übergeben wird.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen