Im暗黙のパスワードリセット機能に行きます。最初のユーザーは電子メールをフォームに入力します。次に、「送信」をクリックします。サーバー側では、電子メールが正しいかどうか、ユーザーがデータベースに存在するかどうかを確認し、そうであれば次のページにリダイレクトします(実際はquestry文字列パラメータ?step = 2の同じページです)。ページ間でデータを渡すasp.net
loadBalancerのためにセッションを使用できません。ユーザーのメールを保存する最良の方法は何ですか?任意のヘルプ
Im暗黙のパスワードリセット機能に行きます。最初のユーザーは電子メールをフォームに入力します。次に、「送信」をクリックします。サーバー側では、電子メールが正しいかどうか、ユーザーがデータベースに存在するかどうかを確認し、そうであれば次のページにリダイレクトします(実際はquestry文字列パラメータ?step = 2の同じページです)。ページ間でデータを渡すasp.net
loadBalancerのためにセッションを使用できません。ユーザーのメールを保存する最良の方法は何ですか?任意のヘルプ
ため
おかげで、それは同じページである場合には、それはかなり些細でなければなりません。あなたはので、あなたのボタンのクリックハンドラで隠し入力フィールドを追加し、フォームに追加できます。
protected void Button1_Click(object sender, EventArgs e)
{
string email = email.Text;
//Check database etc
HtmlInputHidden hidden = new HtmlInputHidden();
hidden.Value = email;
hidden.ID = "hiddenemail";
form1.Controls.Add(hidden); // Where form1 is the ID of a form with runat=server
}
またはイベントより良い既存のサーバーコントロールがあった場合、あなたはあなたを使用することができ、ラベルがちょうどだろうと言う。
protected void Button1_Click(object sender, EventArgs e)
{
string email = email.Text;
//Check database etc
Label1.Text = email; // Where Label1 is the ID of a ASP:Label on your page
}
実際に私の答えを無視して、私は明らかにあなたの質問を正しく読まなかった –
私が見る唯一の解決策は、電子メールをクエリ文字列に含めることです。何らかの理由でポストバックを使用したくない場合は、Sessionを使用できません。
Response.Redirect("MyPage.aspx?step=2&email=" + Server.UrlEncode(emailaddr));
それは必ずしもリダイレクトする必要がない場合は、ジェームズ・ヘイの回答を参照してください。
正直なところ、この問題は分かりませんか?
データベースに電子メールがある場合は、データベース内の他のすべての情報も持っている必要があります。したがって、すべてのリロードページなどをスキップしてから、<asp:Panels>
または<asp:Views>
をvisible = false/trueの間のスワップとして使用すると、ページリロードのポストバックが必要ありません。
例
if(email == emailFromDB)
{
panelStep1.visible=false;
panelStep2.visible=true;
// Insert information into whatever controls you have in mind.
}
あなたは、データベース上でメールをしませんか? – Saeed
[データベースバックアップセッションの状態](http://support.microsoft.com/kb/317604)を使用できます。しかし、なぜリダイレクトするのですか?あなたはページをレンダリングするために転送を使用することはできませんし、まだページに書き込む電子メールアドレスを持っているときはできませんか? – Rup
私は理解していません、それは転送を使用する意味ですか? – gruber