0

背景: asp.net mvc4 Web アプリケーションがあります。ページで、ファイル情報で満たされたドロップダウン リストを取得しました。私がやろうとしているのは、ユーザーにボタンをクリックさせ、ユーザーが名前を入力してアップロードするファイルを選択できるポップアップウィンドウを起動させることです。stackoverflow で画像をアップロードする方法と非常によく似ています。

ファイルのアップロードが完了したら。私のアクションでは、ファイル名とアップロードされた時間を含む json データを返します。

return Json(new { エラー = false、uploadFilename = ファイル名、uploadTime = DateTimeOffset.Now }

質問: 残念ながら、アクションが返すのは、json データをページに出力することです。

ここに画像の説明を入力

誰かが私を助けてくれますか 1.ビューでjsonデータをキャプチャして、ページに表示する代わりにドロップダウンリストを更新するにはどうすればよいですか? 2. これを処理するには、ajax (jquery ajax または ajax.beginform) を使用する必要がありますか?

どうもありがとう よろしく

4

1 に答える 1

0

次のようにして達成できます。

コントローラーで json データを渡します。

return Json(new[] {
    new { id = "value1", name = "name1" },
    new { id = "value2", name = "name2" }
}, JsonRequestBehavior.AllowGet);

次に、json 応答を受信するために Make と ajax 呼び出しを行い、次のようにドロップダウンに入力できます。

  $.ajax({
    type: //GET or POST depends on your need,
    contentType: 'application/json;charset=utf-8',
    url: //Your URL,
    data: // Pass data if any,
    dateType: 'json',
    success: function (data) {
             var list = $('select#id');
             list.find('option').remove();
             $(data).each(function(index, item) {
                  list.append('<option value="' + item.id + '">' + item.name + '</option>');
             });
    }
  });
于 2013-09-04T04:46:50.443 に答える