MVC コントローラーでメソッドを呼び出すために Ajax を使用しています。これで a を返したいですstring[]
。Ajax/MVC でこれを達成するにはどうすればよいですか?
最初に JSON オブジェクトに変換する必要がありますか? もしそうなら、どうすればいいですか?
ありがとう
MVC コントローラーでメソッドを呼び出すために Ajax を使用しています。これで a を返したいですstring[]
。Ajax/MVC でこれを達成するにはどうすればよいですか?
最初に JSON オブジェクトに変換する必要がありますか? もしそうなら、どうすればいいですか?
ありがとう
ASP.NET では、次のような単純なコントローラーを作成できます。
public JsonResult GetStringArray()
{
string[] d = {"a","b","d"};
return Json(d, JsonRequestBehavior.AllowGet);
}
そして、それを呼び出すだけでhttp://hostname/controllerName/GetStringArray
、出力は次のようになります["a","b","d"]
JsonRequestBehavior.AllowGet
GET リクエストを作成する場合は、変換時に最後に追加することが重要です。
jQuery のようなフレームワークを使用すると、ドロップダウン リストを簡単に作成できます。
<script src="~/Scripts/jquery.min.js"></script>
<select id="selectString"></select>
<script>
$(document).ready(function () {
$.getJSON("http://hostname/controllerName/GetStringArray", function (data) {
$.each(data, function (index, text) {
$('#selectString').append(
$('<option></option>').val(index).html(text)
);
});
});
});
</script>
必要なパラメータを含む JSON を返すことができます。次のようなアクションを作成します
public JsonResult AjaxHandler(string SomeParam)
{
return Json(new{
someOtherDataId = 3,
stringArray =
new string[] {"one", "two", "three", "four"}
},
JsonRequestBehavior.AllowGet);
}