0

MVC3 と JQuery の使い方を学んでいるだけで、かなり高度なことを行う必要がありますが、これまで誰もやったことがないと思うことは何もありません。ですから、私を正しい方向に向けることができれば、それは素晴らしいことです。

データベースからのオートコンプリートリストを入力することができた著者のリストを含むテキストボックスがあります(EF4を使用するOracle)。とても素敵です。しかし、私はそれに基づいて構築する必要があります。

ここに画像の説明を入力

基本的に、ユーザーは次のことを行う必要があります。

  • 1 人以上の著者を選択 (オートコンプリートはオン)
  • 選択した作成者は、何らかの方法で永続化する必要があります (例: リストなど)
  • ユーザーは、追加された作成者を削除できる必要があります。
  • ユーザーがリストにない作成者を追加する場合、これを何らかの方法で新しいユーザーとして指定する必要があり (少なくともコードで知る必要があります)、これを作成者テーブルに適切に挿入する必要があります。
  • バックグラウンドで、データベースを適切に更新できるように、著者名との ID リンク (データベースから) を保持する必要があります。これは、前のポイントに対する回答の一部を形成する可能性があります。新しい作成者は ID を持たないため、挿入ステートメントを実行します。

うまくいけば、それはある程度の意味があり、私はそれが非常に複雑だとは思いません.どこを見るべきか、いくつかのコードのヒントがわからないだけです:)

アップデート

それで、少し探し回った後、私が望むことの大部分を実行できる素晴らしいプラグインを見つけたと思います-それはtokenInputと呼ばれます。JSON を特定の形式で必要とするため、JSON をどのようにフォーマットするかはまだわかりません。また、新しい作成者の割り当てについても不明です。しかし、今それを試してみてください....

http://loopj.com/jquery-tokeninput/

4

1 に答える 1

0

Json にフォーマットするには、匿名オブジェクトの新しいコレクションを作成し、それを json にシリアル化します。次のようにしました。

var anonymousList= from t in db.YourTable 
                                 where ... something ....
                                 select new
                                 {
                                     id=t.id,
                                     name=t.name
                                 };
var serializer = new JavaScriptSerializer();
var serialized = serializer.Serialize(anonymousList);
return View(new ViewModel { Serialized = serialized });

次に、json をビューに返す必要があります。通常、ViewModel にパラメーターを追加します。次に、その文字列を JavaScript 変数に割り当てる必要があります。

<script>
    var myVariable = @Html.Raw(Model.Serialized);
</script>
于 2012-05-30T16:06:35.373 に答える