2012-03-12 12 views
1

私は以下を達成するための最善の方法に関するアドバイスを探しています:ASP.NET、私のwebformでタスクを達成する最も良い方法は?

私は3つのテーブル - レポート、アクティビティ、ノートを持っています。

アクティビティと注釈は、[レポート]テーブルに関連しています。

ユーザーは新しいレポートを作成し、そのレポート内に多くのアクティビティとメモを作成できるWebフォームを作成する必要があります。すべてのデータをデータベースの適切なテーブルに書き込む必要があります。

ここでロジックに問題があります。私は同じページで複数のformviewコントロールを使用して、プログラムでテーブルなどを更新するなどなど、私はこの比較的簡単な作業を達成する良い方法を見つけることができないように見えることができませんでした。そこに何かアドバイスはありますか?

+0

コードスニペットを入力して試したことを説明できますか?私は複数のFormViewの部分を取得していないのですか? – IrishChieftain

+0

ええ、私はこの質問にもう少し考えが必要だと思います。あなたがここで何を求めているかを正確に判断するのは難しいです。 –

+0

私の処分のコードは現在ありません。ご自分の意見では、これを最初から作成する場合、どのようにWebフォームを設計しますか? – sevenyearsrust

答えて

0

私がこれを設計する場合は、2つの別々のページを使用します。最初のページは、すべてのレポートのグリッドの概要ページです。グリッドは、いくつかの簡単な基本情報(reportid、名前、日付、メモ/アクティビティ数など)を表示します。このページには、グリッドをフィルタリングするための検索オプションもあります。私はそれらを "details.aspx?id = XXX"ページにリダイレクトするグリッド上のレコードをリンクします。また、詳細ページにリダイレクトされた新しいレポートボタンを作成することもできますが、クエリーストリングのパラメータはありません。

詳細ページには3つのタブがあります。タブ1は「レポート情報」です。タブ2は「アクティビティ」になります。タブ3は "Notes"になります。

詳細ページは、レポートの挿入と更新の両方を処理します。 "ID"クエリ文字列が存在しない場合、ユーザーは新しいレポートを挿入したいので、この場合はタブ2と3を非表示にします。また、データバインド機能も実行しません。タブ1(レポート)を保存すると、挿入メソッドが実行されます。レポートが正常に挿入されたら、details.aspx?id = NEWIDにリダイレクトして、アクティビティ/メモの追加を続けます。

"id"クエリ文字列が存在する場合、ユーザーは編集/更新モードになります。この場合、3つすべてのタブが表示されます。タブ1(レポート)に保存すると、レポートテーブルの更新が行われます。

[アクティビティとノート]タブは、データを表示するのに最適ですが、レイアウトする必要があります。データが単なる文字列の場合は、新しいアクティビティを挿入するためのフォームを表示します。以下ではなく、既存のノート/アクティビティをリピータまたはデータリストを使用してリスト形式で表示します。

これはあなたが正しい方向を指してくれることを願っています。

Good Luck!

+0

リッケッツ、私が探していたガイダンス!ありがとう! – sevenyearsrust

+0

クエリ文字列(details.aspx?id = NEWID)に問題があります。レポートを作成した後、 "ReportID"をクエリ文字列として渡す必要があります。 ReportIDはテーブルの主キーであり、ID /自動インクリメントに設定されています。私は、レコードがテーブルに挿入されたときにこの値をトラップする必要があると仮定しますが、どうすればよいでしょうか? – sevenyearsrust

+0

データの操作方法によって異なります。 ADO.NETを使って作業しているなら、あなたはそれをやり直すでしょう、あなたがLINQで作業しているなら、あなたはそれを別のやり方にします。ここで「挿入されたレコードのIDを取得」を検索すると、多くの例が見つかります。 – Ricketts

0

あなたは約MultiViewsについて聞いたことがありますか?


利点

  1. あなたは同じページにあなたのすべての3つの要求を維持することができます。
  2. 往復回数が減ります。したがって、Server.Transferを使用してください。
  3. クエリ文字列の頭痛を削除します。ルーティングが必要になります複数のページを使用して
  4. /書き換え機能

欠点

  1. それは面倒になります。
  2. メンテナンス費用が高くなります。

あなたがはっきりと小さな要件を持っている場合は使用すべきです。

関連する問題