ASP.NETのこのCRUD検索ページの最良のアプローチは何ですか
質問
私は非常にCRUDベースのASP.NET Webサイトを構築しています。プロジェクトのフェーズにアクセスして、ユーザーがそのようなパラメーターに基づいて特定の重要なテーブルの異なるサブセットを示す検索Webページを構築しようとしています。日付と異なるテキストフィールドとして。
固定されたSQLステートメントを使用することはできません。なぜなら、彼らが日付または何か他のもので検索するかどうかに応じて、SQLが異なるため、代わりに、目に見えない、そしてそうであるテーブルWebコントロールを使用して結果リストを生成していますユーザーが作成したい検索を識別すると、埋められて表示されます。テーブルコントロールを使用しました。これは、背後のコードで簡単に作成および変更でき、データベースに必要な呼び出しを行い、必要に応じてそのテーブルを入力することができたためです。
ただし、この検索ページで必要な2番目のことは、ユーザーが結果からレコードを選択し、サイトの残りのCRUDベースのページを使用して編集できるようにすることができることです。そのために、私はテーブルにASP:ボタンを作成し、すべての異なるIDと同じイベントハンドラーを与えました。しかし、ボタンを動的に作成して以来、イベントがコールバックで消え、スキームが失敗するように思われるため、これを行う方法を再検討しています。
イベントの私の現在のコードは次のように見えます:
tempcell = new TableCell();
Button tempbutton = new Button();
tempbutton.Text = "Go";
tempbutton.ID = "gobutton" + rowN;
tempbutton.Visible = true;
tempbutton.Click += new EventHandler(tempbutton_Click);
tempcell.Controls.Add(tempbutton);
temprow.Cells.Add(tempcell);
私の結果テーブルは次のように宣言されています:
<asp:Table ID="ResultTable" visible="false" runat="server"
GridLines="Both" CellSpacing="8">
</asp:Table>
選択したユーザーがどのレコードを選択したかを特定できるようにしたいので、その情報を別のページに送信できます。そしてもちろん、いくつかの異なる検索基準の結果を生成できる必要があります。現在、ユーザーが入力したものに基づいて、さまざまなストアドプロシージャと異なるパラメーターにつながる日付、テンプレート、コードベースの検索があります。
これに関する提案はありますか?データグリッドとリピーターは、正常に動作するために事前にSQLステートメントを必要とするように思われるため、それらを使用する方法はわかりませんが、アイテムコマンドアプローチがボタンで動作する可能性があります。
解決
ページロードイベントでボタンが再作成された場合、イベントは正常に接続されます。
それ以外の場合は、gridviewを使用します。これは、シンプルなCRUDのための完璧なソリューションであり、必要なだけ制御できます。