0

ホームページにつながるログインページがあります。ログインページはデータベース内のビューからプルしてユーザー名とパスワードを確認します(ビューにはユーザー名、パスワード、名前の3つの列があります)。名前を含むすべてのデータが選択されますが、ユーザー名とパスワードを使用します。

これはログインコードです:

  protected void LoginButton_Click(object sender, EventArgs e)
    {
        lblerror.Visible = false;     
        SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["SurveySystemConnectionString"].ConnectionString);
        conn.Open();
        string queryString = "SELECT * FROM [Users] WHERE Username=@username AND Password= @password";
        SqlCommand command = new SqlCommand(queryString, conn);
        command.Parameters.AddWithValue("@username", UserNameTextBox.Text);
        command.Parameters.AddWithValue("@password", PasswordTextBox.Text);

        SqlDataReader reader = null;
        reader = command.ExecuteReader();

        if (reader.Read())
        {
            Session["Username"] = UserNameTextBox;
            Session["Password"] = PasswordTextBox;
            Response.Redirect("Home.aspx");
           }
          else
            {
                lblerror.Visible = true;
                lblerror.Text = "Incorrect Username/Password Combination";
            }
            conn.Close();
 }

ホームページに「ようこそ(IDを使用したばかりのユーザーの名前)」というウェルカムメッセージを表示したいのですが。ログアウトするまで、つまり、ログイン中に他のページに行ったり来たりしても、ホームページに常にその人の名前が表示されるようにするには、どうすればよいでしょうか。データベースにSQLサーバーを使用しています。

4

2 に答える 2

1

例:

ログイン時のコードで、[ユーザー名]列を取得してセッションに渡します

Session["Name"] = reader["Name"].ToString() //Supposed your column name is called Name

datareaderで列値を取得する方法については、次のリンクを確認してください:C#.NETDataReaderを使用したデータの取得

次に、マスターページのヘッダーにidlblusernameのラベルコントロールを追加します

<table>
<tr>
<td align="right">
Welcome :
<asp:Label ID="lblUserName" runat="server"></asp:Label>
<td>
</tr>
</table>

次に、追加するだけの背後にあるコードについて

lblUserNAme.Text =  Session["Name"].toString();

マスターページpage_load

よろしく

于 2012-11-29T01:41:01.133 に答える
0

ユーザーの名前をSession["Username"]に保存しているようです。これにより、ログインに成功した後にその値を取得して、ラベルのテキストを設定できます。

これは、コードビハインドで行うか、*。aspxでインラインで行うことができます。

Welcome <%= Session["Username"] %>!
于 2012-11-29T01:22:35.640 に答える