これまで、私が構築した Web アプリのほとんどは背後に Oracle データベースを持っているため、データを取得または更新するときは、検索変数をクラスに渡して SQL を構築し、接続を開き、DataTable を作成してフォームに戻します。次に、グリッドビューにバインドします-簡単なことです。
現在、SQL Server データベースに Linq を使用しています。これを簡単に構築して、button_click イベント (以下のコード) で動作させることができますが、変数を別のクラスに渡してコード ビハインドから実行しないようにする場合、正確には何を返しますか?フォームに戻る?
それが理にかなっていることを願っています-私は基本的に以下のことをしたいと思っていますが、コードビハインドではありません。
ASB_DataDataContext adb = new ASB_DataDataContext();
var qryAdb = from asb in adb.Inputts
select new
{
NRTno = asb.NRT_No,
PerpSurname = asb.Allg_Perp_Surname,
PerpSteet = asb.Allg_Perp_Street,
HouseNo = asb.Allg_Perp_House_No,
Complainer = asb.Complainant_Surname,
Complainer_Street = asb.Complainant_Street
};
if (txtCompSurname.Text != "")
qryAdb = qryAdb.Where(asb => asb.Complainer == txtCompSurname.Text);
if (txtCompStreet.Text != "")
qryAdb = qryAdb.Where(asb => asb.Complainer_Street == txtCompStreet.Text);
if (txtPerpSurname.Text != "")
qryAdb = qryAdb.Where(asb => asb.PerpSurname == txtPerpSurname.Text);
if (txtPerpStreet.Text != "")
qryAdb = qryAdb.Where(asb => asb.PerpSteet == txtPerpStreet.Text);
if (txtNrtNo.Text != "")
qryAdb = qryAdb.Where(asb => asb.NRTno == Convert.ToInt32(txtNrtNo.Text));
gvResults.DataSource = qryAdb.Select(o => new { o.NRTno, o.PerpSurname, o.PerpSteet, o.HouseNo, o.Complainer, o.Complainer_Street });
gvResults.DataBind();