-1

ページを介して値を渡したいので、アプリケーション変数を試しました。しかし、問題は変数がすべてのユーザーに固有ではないため、価値が損なわれることです。

セッション変数はセッションの作成に使用され、完璧に機能します。セッションを作成したくありません...各セッションで別の値を渡したいのですが、値はユーザーによって異なります。

ここでは、すべての教員がログインするためのセッションを作成します。各教員に応じて、彼の学校名が特定され、教員のウェルカム ページに転送されます。

if (pass == txtFacPass.Text && schoolName == listFacSch.SelectedItem.ToString())
            {
                Session["fac"] = txtFacUser.Text;
                Application["sname"] = listFacSch.SelectedItem.ToString();
                Response.Redirect("faculty.aspx", false);
            }      

できるだけ早く解決策を教えてください。前もって感謝します。

4

2 に答える 2

2

私が正しく理解しているのであればfaculty.aspx、ユーザー名と学校名の 2 つの値を に渡す必要があります。

すでにセッションを介してユーザー名を渡しています:

Session["fac"] = txtFacUser.Text;

別の値を渡すには、別のキーを使用して保存します。

Session["sname"] = listFacSch.SelectedItem.ToString();

これにより、別のセッションが作成されることはありません。両方の値は、ユーザー用に作成された 1 つのセッションの他のページで使用できます。

于 2012-07-12T22:03:15.273 に答える
0

アプリケーション変数は、各ユーザーではなく、各アプリケーション用です。したがって、毎回1​​つの値をリセットするだけです。

あなたがやろうとしていることを私が理解しているなら、なぜあなたはただURIパラメータを使わないのですか?

Response.Redirect("faculty.aspx?sname=" + listFacSch.SelectedItem.ToString() , false);

次に、学部ページでクエリ文字列パラメータを処理します(学校ごとに異なるものを表示していると仮定します)

于 2012-07-12T21:58:33.747 に答える