• 締切済み

ASP.NET MVC 3 に詳しい方

WebGridで作った表に、検索機能ボタンを押して動的にテーブルに表示するデータを変えるにはどうすればよいでしょうか? http://blogs.itmedia.co.jp/tamaki/2010/10/aspnet-mvc-3-85.html 上記のサンプルで作った表にはトドウフケンやフリガナといった列名がありますが、たとえばこの画面にトドウフケンやフリガナを入力するエディットボックスと、検索ボタンをつけ、ボックスに入力した値をSQLのwhere文に追加して、テーブルの内容を絞り込めるようにするにはどうすればよいでしょうか? 詳しい方のアドバイスお待ちします。よろしくお願いします。

みんなの回答

  • onos
  • ベストアンサー率81% (127/155)
回答No.1

入力欄と検索ボタンはViewに普通に追加すればよいかと。 で、Post時に実行されるIndexアクションメソッドを追加して、そのなかで入力された文字を取得。 データの絞込みについては query を取得しているLINQのとこに抽出条件として組み込めばよいです。 なんらかのエラーとか、データが一件もないときの動作とかもう少し追加しないといけないことはあるでしょうけど、基本的なところは上記の作業でいけるかと。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ASP.NET MVCでFancyboxを使いたい

    いつも大変お世話になっています。 今、ASP.NET MVCでサイトを構築中です。苦戦してます。。 中に入力フォームがあり、その中でサブウィンドウ的に入力ウィンドウを開いて、補足的な入力を行う仕様になっています。 普通なら、別の入力画面に遷移させるのですが、あまりにも入力項目が少ないため、遷移はさせたくなく、また、別ウィンドウもポップアップ対策などあって採用できません。 そこで、ヘルプウィンドウなどで使用している「Fancybox」を使いたいのですが、ASP.NETのプログラムサンプルがなく、大変に苦戦しております。 http://fancybox.net どなたか、参考意見だけでも拝聴できないでしょうか? 藁にもすがるつもりでお願いいたします。 【仕様】 ASP.NET MVC3(IIS7.5)+jQuery 【要件】 ドロップダウンリストである項目を選ぶ -> Fancyboxで入力ウィンドウを「モーダルで」開く -> テキストを入力 -> 「閉じる」ボタンでFancyboxを閉じる(未入力状態では閉じるボタン不活性) フォーム全体の入力完了後、「送信」ボタンで内容を送信 【不明点1】 ドロップダウンで選んだ項目によって、Fancybox画面が変化するため、動的にフォームを表示する必要があので、その方法(静的htmlの表示はできています) 【不明点2】 Fancyboxでの入力値を保存する方法 現状は以下のコードで試していますが、"error loading response"とか出て何も表示されません。 $('#selection').change(function(){ $.fn.fancybox({ // 何か他のオプションが必要なのでしょうか? href : 'subpanel?type=albyter?type=' + $(this).val(); ); } }); public ActionResult subpanel(string type){ // ここもわかりません。返すのはビュー?それともパーシャルビュー? // 今はパーシャルビューを返していますが。。 var subPanelModel = new SubPanelModel(type); return Partial("subpanel", subPanelModel); }

  • VC++のエディットボックスの非表示

    VC++で、ダイアログを作りました。 エディットボックスを置いているのですが、 このエディットボックスは始めは非表示(入力を受け付けない)にするため、 このエディットボックスのプロパティにある "Disable"をtrueにして"Visible"もtrueにしました。 そこまではよかったのですが、 「入力」ボタンを押すと、エディットボックスが白く表示され、入力を受け付けるというようにしたいのですが、 エディットボックスのプロパティを変更する関数というのはあるのでしょうか? いろいろ検索などをしているのですが、方法がわかりません。よろしくお願いします。

  • 読み込んだデータを他のフォームで編集したい

    VB.netを勉強しはじめたばかりなので教えて下さい。 お願いします。 フォームにSQLのデータをデータグリッドビューで読み出しました。 選んだデータを編集ボタンを押すと新しいフォームが出てきて編集できるようにしたいのですが、どのようにやれば良いのかよくわかりません。 SQLにあるデータはテーブルが一つだけあって テーブル名:test 列名1:namecode(主キー) 列名2:name これを読み出して編集したいだけです。 データグリッドビューには読みだせたのですが、ボタンを押した時に選ばれたデータが新たに表示されるフォームの中(テキストボックス)へセットしたいのですが、どのようにすれば良いのか教えてください。 わかりやすいサイトがあれば教えていただければ幸いです。 よろしくお願いいたします。

  • 置換変数とLIKE条件

    SQL文で「SELECT * FROM テーブル名 WHERE 列名 LIKE = '&%'」で実行するとレコードは選択されませんとなり、変数をの入力もできません。 置換変数とLIKE条件は一緒に使えないのでしょうか?

  • '(シングルクォーテーション)の検索

    '(シングルクォーテーション)の検索 SQL Server 2005 Express Edition を使っています。 '(シングルクォーテーション)を含む文字列を検索したいのですが できずに困っています。 どのようなクエリを組むべきでしょうか? 教えてください。 よろしくお願いします。 現在は select * from テーブル名 where 列名 like '%\'%' としていますがエラーになります。

  • 検索について

    検索について SELECT * FROM テーブル名 WHERE 列名 LIKE '条件' を使って検索できるプログラムを作りました。 これにORの条件で列名を追加したいのですが可能でしょうか? 「条件が列名1と列名2のどちらかにあてはまる」といったような。 回答お待ちしています。

    • ベストアンサー
    • MySQL
  • TIMESTAMP型が含まれるテーブルの列名の取得

    Oracle 11gを使用しているSQL初心者です。 テーブルの列名を取得する方法についての質問です。 テーブルの列名を取得するときは以下のSQLで取れると思っています。 select column_name from user_tab_columns where table_name = 'テーブル名'; --実行結果-- COLUMN_NAME ------------------------------ NAME1 NAME2 しかし、テーブルにTIMESTAMP型が含まれていると 「レコードが選択されませんでした。」 と表示されます。 TIMESTAMP型が含まれるテーブルは上記のSQLでは取得できないのでしょうか。 TIMESTAMP型が含まれるテーブルの列名の取得方法をご存知の方がいらっしゃいましたら、 ご教示ください。よろしくお願い致します。

  • updateしてもSQLを終了すると元に戻る

    Oracle_9→access2002 で外注開発されたシステムを利用しています さて、Oracle、SQL_Plusの[update TABLE1 SET FIELD1 = 'X' WHERE FIELD1 IS NULL]等でデータ更新後、[select 列名リスト FROM TABLE1 WHERE 検索条件]で確認すると確かに更新されているが、SQLを終了後、再起動すると元に戻ってしまいますが、どんな原因が考えられますか?update実行後に確定操作等あるのですか? Oracleはまったく初心者ですがお願いします

  • SQLで、列名の後ろに「||」 これは?

    基本的なことで申し訳ありません。 SQLのWhere句で、<列名>||'' = 値 という記述があったのですが、 これはどういう意味なのでしょうか? 検索で探そうと思っても、「||''」などの記号を上手く探せなくて・・・ 教えてください。よろしくお願いいたします。

  • テキストボックス内に記入されたデータの取得方法

    お願いします。 画面にテキストボックスが500あります。 そのなかに入力されたデータだけを動的に取り出したいと思っています。 ※取り出してデータベース(mysql)へインサートします。 詳しくは、tableが複数あり其の中にそれぞれ特定のテキストボックスが存在しているようになっていますので、特定のテーブル単体では毎回列名は固定されています。 たとえば、一画面にAとBテーブルがあったとして、AとBのテーブル内に ○A→3つのテキストボックス(列名のこと) ○B→6つつのテキストボックス(列名のこと) があったとして、 まず、Aのテーブル内のテキストボックス2つに値を入力されたとします。(3つめのテキストボックスは入力されていない) また、同時にBテーブルのボックス3つに入力されたとします。(残り3ボックスは入力されていません) その際、入力されたAテーブルの2つのボックスに対応する列名(データベース内の)とVALUESの値(テキストボックス内に記入されたデータ)がINSERT文に記述されるような事を考えています。 また、Bテーブルでも同様にしたいと考えています。 つまり、入力されたボックスに焦点をあてて動的にINSERT文を作れないか?という事で、入力されていないテキストボックス名はINSERT文から省きたいと考えています。これを動的にしたいのです。 >strSql = strSql & "'" & textbox1.Text & "'," 上の文の「 textbox1.Text  」を入力されたテキストボックスから動的に変更出来ないのかが気になっています。 例えば 、3つのテキストボックスがありそのうち、1番目と2番目に入力があったとき、変数をiとして 1 と 2 が入るようにしたいので以下のように文が書けるのだろうか?? 「 textbox[i].Text 」 と思っています。

このQ&Aのポイント
  • 高齢者向けの電話専用Androidスマホの作り方について教えてください。
  • 電話専用スマホでダイアラーアプリを見つけることができずに困っています。
  • 電話専用スマホの起動時には直接ダイアラーが立ち上がるような機能を実現したいです。
回答を見る