1

入力した値を保存する必要がtextBox'sありdropdownList's radio buttonsます .... 私のフォームは複数ページのフォームです。私は何をしているのかわかりませんが、これは私が考えていることです。

クリックすると次のページに移動するボタンがあります。私も挿入したいDBテーブルのすべてのフィールドを持つクラスを作成しました。ボタンクリックイベントで、値をに割り当てたいsession。これは私がそれを行う方法ですか?

protected void img_btnNext_Click(object sender, ImageClickEventArgs e)
{
Incident obj = new Incident();
obj.witnessesYes = rad_ReportYes.Checked;
obj.witnessesNo = rad_ReportNo.Checked;

// lots more objects .... to values

Session["mySession"] = obj;
Response.Redirect("~/Communicating.aspx");
}

次のページに行くとき、そのまま続けますか? にさらに値をobj追加し、それをsession?に追加します。これを行う方法がわかりません。

4

2 に答える 2

1

はい、セッション内のオブジェクトにすべてのプロパティがある場合、必要に応じてそれらを操作できます。

var incident = Session["MyIncident"] != null ? (Incident)Session["MyIncident"] : new Incident();
于 2013-03-28T09:26:22.313 に答える
0

はい、これは解決策の 1 つです。できることは、Session に Object があるかどうかを確認することです。ある場合は、シリアル化してコンテンツを追加し、同じキーを使用してセッションに保存します。空の場合は、新しいオブジェクトを作成して開始します。このアプローチで発生する問題の 1 つは、セッションが失われた場合にセッションを取り戻すことができない場合です (サーバーなどに問題がある可能性があります)。さらに手順がある場合は、特定の手順の後に DB などの永続的な場所に保存することをお勧めします。

if(Session[keyName] != NULL)
{
Incident existingValue = (Incident)Session[KeyName]
existingValue.XXXX = 10;
Session[KeyName] = existingValue ;
}
else
{
 Incident existingValue = new Incident()
 existingValue.XXXX = 10;
 Session[KeyName] = existingValue ;
} 
于 2013-03-28T09:27:02.567 に答える