2012-04-20 27 views
2

私のページのレコードを保持するSQLデータベースがあります。私のページには、詳細ビューがあり、私のデータベースからレコードを取り込みたいと思っています。私はレコードをうまく埋めることができる、私はドロップボックスからのユーザーの選択に基づいてレコードに配置することができる必要がありますか?ユーザー入力に基づいてデータテーブルを入力してください

私のメインページには、年(つまり2011年、2010年、2009年)のドロップダウンリストと、アカウントコード(つまり6桁の数字)を含むドロップダウンリストがあります。ユーザーが年(たとえば2010年)に選択した内容とアカウントコード(たとえば123456)で選択した内容に基づいて、2010年のレコードのみを含む詳細ビュー(個別のページにあります)アカウントコード123456で??

これまでのところ、動作させる方法が見当たりませんでしたか?

+0

これを行うことができますが、最初に、詳細ビューを同じページに移動できるかどうか尋ねたいと思います。それはより簡単になります(わずかながら) – David

+0

詳細ビューは、アカウントコードと同じページにありますが、年ではありません。私は複数のページを持っており、1年を選択させて、そのすべての追加ページのレコードをその年に基づいているようにしたいと考えています。 – developthestars

答えて

1

フォームコントロールからの入力に基づいてDetailsViewを入力することは、実際はかなり簡単です。基本的に、コントロールを使用してパラメータ値を指定して、select文のWHERE句にプラグインします。

本質的には、SqlDataSourceを定義して制御パラメータを取得します。 http://msdn.microsoft.com/en-us/library/z72eefad.aspx

そして、ここでのスクリーンショットと記事:

ありドキュメントはここにもありますhttp://www.asp.net/web-forms/tutorials/data-access/accessing-the-database-directly-from-an-aspnet-page/using-parameterized-queries-with-the-sqldatasource-vb

詳細は別のページ上にある表示すると、あなたがたQueryStringパラメータを使用して同じことを行うことができますが、それはあなたを去ります改ざんの恐れがあります。 (クエリー文字列の値を変更して、表示しないレコードにアクセスする人)特定の状況で改ざんが問題にならない場合(データは本質的に機密性が高いわけではありません。そのことを知っているべきである。

+0

ありがとう、私はこれを試してみます。 – developthestars

+0

@developthestars - 私は自分の答えからビデオリンクを削除しました。これは、それがIMOを行う "難しい"方法だからです。スクリーンショットのある記事は、おそらく始めるべき場所です。そして、msdnドキュメントを読んでいます。 – David

+0

+1:優れた答え。 –