asp.net mvc5 JsonResult 用法
asp.net mvc5 JsonResult usage
我正在做一个项目,我想知道如何将 json 结果作为一个对象来处理。
结果我成功地使用了局部视图,但我只是想知道如果我 return 一个 json 结果作为列表是否可能。
我的预期结果是这样的:
@using (Ajax.BeginForm("AddMission", "Mission", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "ajaxEtki", InsertionMode = InsertionMode.InsertAfter } new AjaxOptions { HttpMethod = "POST", OnSuccess = "OnSuccess", OnFailure = "OnFailure" }){
// Do some staff
}
并且在控制器部分
public JsonResult ()
{
List<Missions> missions = _db.Missions.ToList();
return Json(missions,JsonBehavior.AllowGet);
}
我只是想知道如何在视图部分处理结果(我想像使用对象一样使用结果。)
// 我想知道的部分是该脚本部分的用法。
//因为我在那个脚本部分没有成功。
有人可以帮助我了解如何将 json 结果转换为对象列表吗?
<script type="text/javascript">
function OnSuccess(response) {
var obj = response.get
alert(response);
var isss = JSON.parse(response);
var target = $("#ajaxEtki");
target.empty();
for (var i = 0; i < response.length; i++) {
var product = response[i];
alert(product);
target.append(product.GOREVTURADI + "<br />");
}
}
function OnFailure(response) {
alert("false")
}
</script>
提前感谢您的帮助。
此致。
这是一个快速示例。
在程序包管理器控制台中使用命令 Install-Package Microsoft.jQuery.Unobtrusive.Ajax
将 unobtrusive-Ajax 添加到项目中。
示例代码如下:
型号
public class Mission
{
public int Id { get; set; }
public string Name { get; set; }
}
控制器
private readonly List<Mission> _missions = new List<Mission>()
{
new Mission(){Name = "qw",Id = 1},
new Mission(){Name = "er",Id = 2},
new Mission(){Name = "ty",Id = 3}
};
public ActionResult Mission()
{
return Json(_missions, JsonRequestBehavior.AllowGet);
}
查看
</div>
@using (Ajax.BeginForm("Mission", new AjaxOptions() { OnSuccess = "submitMissionSuccess" }))
{
<input type="submit" value="Ok"/>
}
正在查看脚本
@section scripts
{
<script>
function submitMissionSuccess(response) {
for (var i = 0; i < response.length; i++) {
$('#jsonTarget').append("<p>" + response[i].Name + "</p>");
}
}
</script>
}
我正在做一个项目,我想知道如何将 json 结果作为一个对象来处理。 结果我成功地使用了局部视图,但我只是想知道如果我 return 一个 json 结果作为列表是否可能。
我的预期结果是这样的:
@using (Ajax.BeginForm("AddMission", "Mission", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "ajaxEtki", InsertionMode = InsertionMode.InsertAfter } new AjaxOptions { HttpMethod = "POST", OnSuccess = "OnSuccess", OnFailure = "OnFailure" }){
// Do some staff
}
并且在控制器部分
public JsonResult ()
{
List<Missions> missions = _db.Missions.ToList();
return Json(missions,JsonBehavior.AllowGet);
}
我只是想知道如何在视图部分处理结果(我想像使用对象一样使用结果。)
// 我想知道的部分是该脚本部分的用法。 //因为我在那个脚本部分没有成功。 有人可以帮助我了解如何将 json 结果转换为对象列表吗?
<script type="text/javascript">
function OnSuccess(response) {
var obj = response.get
alert(response);
var isss = JSON.parse(response);
var target = $("#ajaxEtki");
target.empty();
for (var i = 0; i < response.length; i++) {
var product = response[i];
alert(product);
target.append(product.GOREVTURADI + "<br />");
}
}
function OnFailure(response) {
alert("false")
}
</script>
提前感谢您的帮助。
此致。
这是一个快速示例。
在程序包管理器控制台中使用命令
Install-Package Microsoft.jQuery.Unobtrusive.Ajax
将 unobtrusive-Ajax 添加到项目中。示例代码如下:
型号
public class Mission
{
public int Id { get; set; }
public string Name { get; set; }
}
控制器
private readonly List<Mission> _missions = new List<Mission>()
{
new Mission(){Name = "qw",Id = 1},
new Mission(){Name = "er",Id = 2},
new Mission(){Name = "ty",Id = 3}
};
public ActionResult Mission()
{
return Json(_missions, JsonRequestBehavior.AllowGet);
}
查看
</div>
@using (Ajax.BeginForm("Mission", new AjaxOptions() { OnSuccess = "submitMissionSuccess" }))
{
<input type="submit" value="Ok"/>
}
正在查看脚本
@section scripts
{
<script>
function submitMissionSuccess(response) {
for (var i = 0; i < response.length; i++) {
$('#jsonTarget').append("<p>" + response[i].Name + "</p>");
}
}
</script>
}