我遇到了Kcnockout Js的问题,当他试图返回结果时,他将结果返回给我,没有区分,我已经验证了承包商,如果他返回给我数据,如下图所示,
但在加载值列表时 在视图中,它让我感到它是未定义的,如下图所示,
我不知道他为什么给我发那个信息,这是我的控制器代码,
public JsonResult GetGender()
{
ServiceResult serviceResult = new ServiceResult();
serviceResult = this._genderServices.GetListGenders();
return Json(serviceResult);
}
这是视图代码,
<h2>Generos</h2>
<hr />
<p data-bind="visible: IsNewButton">
<a href="#" data-bind="click: New" class="btn btn-primary">Crear Nuevo</a>
</p>
<div id="divListGenders" data-bind="visible: ShowResult">
<table class="table">
<thead>
<tr>
<th>
Genero
</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody data-bind="foreach: Genders">
<tr>
<td style="text-align:left" data-bind="text: GenderName"></td>
<td style="text-align:center">
<a href="#" data-bind="click: $parent.Edit" class=" btn btn-warning"><span class="glyphicon glyphicon-edit"></span></a> |
<a href="#" data-bind="click: $parent.Details" class=" btn btn-info"><span class="glyphicon glyphicon-eye-open"></span></a> |
<a href="#" data-bind="click: $parent.Delete" class=" btn btn-danger"><i class="fas fa-trash"></i></a>
</td>
</tr>
</tbody>
</table>
</div>
<div data-bind="visible: IsBackToListButton">
<a href="#" data-bind="click: BackToList" class="btn btn-info">Regresar</a>
</div>
<script src="~/js/Gender.js"></script>
这是返回流派列表的方法,
var LoadListGenders = function () {
$.ajax({
url: '/AdminGenders/GetGender',
data: null,
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
async: true,
success: function (data) {
if (data.Success) {
genderViewModel.Genders.removeAll();
genderViewModel.Genders(data.Data);
}
else {
alert(data.Data);
}
},
error: function (ex) {
alert('Ocurrión un error, cargando los generos.');
}
});
};
}
我在www.example.com MVC 5上提供了它asp.net,它运行得很好,我不知道为什么它在ASP.NET Core 2.1中不适合我,我将感谢您的帮助
1条答案
按热度按时间ig9co6j11#
在
ASP.NET Core
中,将输出序列化为JSON
的默认大小写是camelcase,而对于ASP.NET MVC 5
则是Pascal大小写。请注意,帖子中显示所有属性的第一张图片是camelcase:
data
数组中的项目也类似:genderId
、genderName
等等。解决此问题的一种方法是通过应用camelcase属性名称来更新
javascript
代码和Knockout
绑定。例如:
或者,您也可以选择配置Web API以返回Pacalcased JSON,例如,将下面的代码保存在
Startup
ConfigureServices
中: