0

ユーザー名をSQLテーブルに保存する必要があります。たとえば、ユーザーがログインにユーザー名とパスワードを入力すると、別の形式でテキストボックスのデータを別のユーザーに送信する必要があります。ユーザー名を保存するにはどうすればよいですか? Visual Studio 2008、C Sharp、SQL Server 2005 を使用して Web サイトで作業しています。よろしくお願いします

これはログイン時のコードで、ユーザー名を 2 番目のフォームに渡す必要があります

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>    

ターゲット ページの find メソッドのコード ビハインドに移動し、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、名前付きオブジェクトを保存するための辞書を提供します。それらは、現在のセッション内のすべてのページ間で共有されます。セッションを使用して、次のようにページ間でデータを渡すことができます。

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"];
    }
}

これにより、キーの下の前のページに保存した値がフェッチされ、ページがレンダリングされる前にSomeKey設定されます。Label入力したテキストが最初のページに表示されます。

于 2012-07-27T14:26:27.293 に答える