Hallo Zusammen,
ich möchte direkt nach einem Login eine Liste mit zum User verknüpften Items anzeigen.
Allerdings scheint trotz erfolgtem Login nicht Session-Parameter gefüllt zu werden. Erst nach erneutem Laden der Seite wird der SessenParameter korrekt ausgewertet. Hat jemand eine Idee?
Hier mein Code:
Danke, Andreas
ich möchte direkt nach einem Login eine Liste mit zum User verknüpften Items anzeigen.
Allerdings scheint trotz erfolgtem Login nicht Session-Parameter gefüllt zu werden. Erst nach erneutem Laden der Seite wird der SessenParameter korrekt ausgewertet. Hat jemand eine Idee?
Hier mein Code:
Code:
<%@ Page Language="C#" Debug="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
string UserID;
protected void LoginStatus1_LoggedOut(Object sender, System.EventArgs e)
{
LoginStatus1.Visible = false;
LoginStatus1.Enabled = false;
LoginName1.Visible = false;
//Session.RemoveAll();
Session.Abandon();
}
void OnLoggedIn(object sender, EventArgs e)
{
LoginStatus1.Visible=true;
LoginStatus1.Enabled = true;
LoginName1.Visible = true;
if (Session["UserID"] == null)
{
// userdaten holen
MembershipUser myObject = Membership.GetUser();
if (myObject != null)
{
object tmpUserID = myObject.ProviderUserKey.ToString();
Session.Add("UserID", tmpUserID);
UserID = Session["UserID"].ToString() ;
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Kochbücher anzeigen</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<br />
<asp:LoginName ID="LoginName1" runat="server" FormatString ="Hallo {0} <BR />" />
<asp:LoginStatus ID="LoginStatus1" runat="server" logoutAction="Refresh" OnLoggedOut="LoginStatus1_LoggedOut" LoginText=""/>
<asp:Login ID="Login1" runat="server" style="text-align: right" VisibleWhenLoggedIn="False" FailureText="Benutzername oder Kennwort falsch!"></asp:Login>
<br />
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:KBConnectionString %>"
SelectCommand="SELECT Kochbuecher.Kochbuch, Kochbuecher.ID, Kochbuecher.Erfassungsdatum, user_kochbuecher.[user] FROM Kochbuecher, User_Kochbuecher Where Kochbuecher.ID = User_Kochbuecher.Kochbuch AND User_Kochbuecher.[User] = @UserID">
<SelectParameters>
<asp:SessionParameter Name="UserID" SessionField="UserID" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
CellPadding="4" DataSourceID="SqlDataSource2" ForeColor="#333333"
GridLines="None">
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="ID"
DataTextField="Kochbuch" HeaderText="Meine Kochbücher" />
</Columns>
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#999999" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
</div>
</form>
</body>
</html>
Danke, Andreas