Nach dem Versuch, mich anzumelden, kann ich meinen Benutzernamen nicht erfassen und ihn nicht auf die Masterseite einfügen. Ein Fehler: Objekt vom Typ 'System.String' kann nicht in 'Member' geschrieben werden. 'Warum ist das so? Ich möchte den Benutzernamen auf die Masterseite auf dem Etikett drucken können. Aber ich werde erwischt mit dem: Kann Objekt vom Typ 'System.String' nicht in 'Member' schreiben. 'Der Benutzername kann nach dem Login nicht in der Masterseite gedruckt werden. Fehler: Objekt des Typs
Das ist mein HomePage.Master.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class HomePage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] != null)
{
lblUser.Text = ((Member)Session["user"]).Username;
lbtnLogin.Text = "Logout";
}
else
{
lblUser.Text = "";
lbtnLogin.Text = "Login";
}
}
Das ist mein LoginForm.aspx.cs ist
protected void btnLogin_Click(object sender, EventArgs e)
{
/* Allows login to be stored to session*/
SqlConnection con = new SqlConnection(conStr);
SqlCommand command = new SqlCommand();
command.Connection = con;
command.CommandText = "select * from Participant where [email protected]_username and [email protected]_password";
command.Parameters.AddWithValue("@participant_username", tbxUserName.Text);
command.Parameters.AddWithValue("@participant_password", tbxPassword.Text);
con.Open();
SqlDataReader rd = command.ExecuteReader();
if (rd.HasRows)
{
rd.Read();
Session["user"] = tbxUserName.Text;
Response.Redirect("default.aspx");
}
else
{
lblOutput.Text = "Invalid username or password.";
}
}
verstand ich die Entfernung des Darstellers, aber ein anderer Teil meines Codes Ursachen ein Fehler:
if (Session["cart"] == null)
{
ShoppingCart s = new ShoppingCart();
s.Member = (Member)Session["user"];
Session["cart"] = s;
}
ShoppingCart sc = (ShoppingCart)Session["cart"];
sc.Seminar = a;
sc.schid = b;
sc.Seminar.Speaker = c;
Response.Redirect("ShoppingCartForm.aspx");
Dieser Teil eines Codes befindet sich in meinem Einkaufswagen-Formular, wenn die Warenkorb-Sitzung ist leer, initialisiere ich einen neuen Einkaufswagen mit dem Mitglied. s.Member = (Mitglied) Sitzung ["Benutzer"]; hat einen Fehler geworfen.
Warum werfen Sie diesen 'UserName' trotzdem in' Member'? Es ist bereits eine Zeichenfolge, die Sie als Zeichenfolge verwenden möchten, und Sie erhalten eine Fehlermeldung, wenn Sie sie in "Member" umwandeln. Also wirklich, warum darauf bestehen? – oerkelens