私は、同じページにSqlDataSourceとGridviewとDropDownListを持っています。 DropDownListの選択肢は、SelectCommands
,UpdateCommands
、およびDeleteCommandsのセットに関連付けられているため、GridView AutoGenerateEditButton = "true"およびAutoGenerateUpdateButton = "true"メカニズムを利用できます。イベントオーダーの背後にあるSqlDataSourceコード
Page_Load
{
switch(ddl.SelectedItem.Text)
{
case "A":
sqlDS.SelectCommand = "Select * From A";
sqlDS.UpdateCommand = "Update A Set Name = @Name WHERE ID = @ID";
sqlDS.DeleteCommand = "Delete A WHERE ID = @ID";
break;
...
}
sqlDS.DataBind();
grd.DataSourceID = sqlDS.ID;
grd.DataBind();
}
どのようにしてパラメータを追加する必要がありますか?自動ですか?私は基本的にテーブルから列を更新して削除する機能が必要です。私は最終的にはよりダイナミックにしたいので、.aspxファイル内ではなく、実際の.csファイルでこれをすべて行いたいと思います。しかし、今のところ私はちょうど基本を取り除きたい。私はデータバインディングに関連するイベントの順序を完全に理解していないため、不適切なイベントにDataBind()ロジックがある可能性があります。
クエリは複雑ではなく、結合やビューは必要ありません。それらは単一のテーブルに対する単純なSELECTです。
ASPにはDynamic Dataという名前のビルトインテンプレートがあります。データソース内の任意のテーブルからレコードを表示、更新、編集、および削除する機能を総称して提供するNet out-of-the-box。個々のページ、個々のアクション、フィールドタイプなどをカスタマイズすることもできます。詳細はこちらhttp://msdn.microsoft.com/en-us/library/ee845452(v=VS.100).aspx – mellamokb
'LinqDataSource'とLINQ-To-SQL/etcを使います。あなたのデータベースを扱うための?それは選択/挿入/更新の配管を自動的に処理するので、はるかに簡単です。 – mellamokb
動的データを使用しない場合でも、ソースコードの一部を見直して、コードを単純化し、SQLステートメントを生成するための組み込みツールを活用するアイデアを得ることは、悪い考えではないかもしれませんこの種のことはこれまで何度も行われてきましたが、あなたがそれをどうやって動くかによって、それを行うのがはるかに簡単ではるかに難しくなります。 – mellamokb