我有一个HttpPost
请求发回一个对象Value
。
我想在对象ComputerLocation
为真时显示Value
div(s.IsComputer
是bool)。
目前没有任何事情发生。
我尝试使用Firebug对其进行调试,并确认请求实际上回发了对象Value:true
,但当我检查result.Value
时,Value
显示为未定义。
请检查我做错了什么?
脚本:
<script type='text/javascript'>
$(document).ready(function () {
$('#typeddl').on('change', function () {
$.ajax({
type: 'POST',
url: '@Url.Action("GetItemTypeForm")',
data: { itemTypeId: $('#typeddl').val() },
success: function (result) {
$('#ComputerLocation').toggle(result.Value === true);
}
});
});
$('#typeddl').trigger('change');
});
</script>
JSON:
[HttpPost]
public JsonResult GetItemTypeForm(int itemTypeId)
{
//pseudo code
var data = from s in db.ItemTypes.ToList()
where s.ItemTypeId == itemTypeId
select new { Value = s.IsComputer };
return Json(data);
}
答案 0 :(得分:1)
使用First
方法获取单个结果,因为您的查询返回IQueryable<T>
var data = (from s in db.ItemTypes.ToList()
where s.ItemTypeId == itemTypeId
select new { Value = s.IsComputer }).First();
然后返回你的结果:
return Json( new { Value = data.Value });