0

我需要将用户名保存在 sql 表中,例如:用户将其用户名和密码放在登录名中,然后,以其他形式必须将文本框中的一些数据发送给另一个用户,我该如何保存用户名?我正在使用 Visual Studio 2008、c sharp 和 sql server 2005 的网站工作,
在此先感谢。

这是我的登录代码,我必须将用户名传递给第二种形式

protected void btnLogin_Click(object sender, EventArgs e)

{
    ClPersona login = new ClPersona();
    bool isAuthenticated = login.sqlLogin1((txtUsuario.Text), (txtPassword.Text));
    if (isAuthenticated)
    {
        //prueba para sesion
        Session["sesionicontrol"] = login.NombreUsuario;
        Response.Redirect("../MENU/menu1.aspx");
    }
4

1 回答 1

1

在您的目标表单上放置一个标签,如下所示:

<asp:label ID="Label1" runat="server" text="Label"></asp:label>    

转到目标页面查找方法后面的Page_Load代码并添加以下代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = (string) Session["sesionicontrol"];
    }

这将读取login.NombreUsuario先前保存的 hich的值Session["sesionicontrol"]并将其显示在标签中。

我的假设是:

  1. login.NombreUsuario- 包含您作为用户名引用的数据 - 这就是您要传递的数据。
  2. 它是类型string

通常Session提供一个字典来保存任何命名对象。它们在当前会话内的所有页面之间共享。您可以使用 session 跨页面传递一些数据,如下所示:

WebForm1.aspx

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

WebForm1.aspx.cs

    protected void Button1_Click(object sender, EventArgs e)
    {
        Session["SomeKey"] = TextBox1.Text;
        Response.Redirect("WebForm2.aspx"); 
    }

这会将您刚刚输入的值保存TextBox到会话中。

WebForm2.aspx

<asp:label ID="Label1" runat="server" text="Label"></asp:label>    

WebForm2.sapx.cs

public partial class WebForm2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = (string) Session["someKey"];
    }
}

这会获取您存储在上一页 uner 键中的值SomeKey,并将其设置为Label在页面呈现之前。您会在 forst 页面上看到您输入的文本。

于 2012-07-27T14:26:27.293 回答