だから私はコントローラーへの私のJson呼び出しに問題があります。エラー「parseerror-予期しないトークン<」が表示されます
私の見解では、私のコードは次のとおりです。
$("select[name='SelectedProjectStatus']").change(function () {
var DashboardModel = {
SelectedProjectStatus: $("select[name='SelectedProjectStatus']").val(),
Page: 1
};
$.ajax({
url: '@Url.Action("Dashboard", "Dashboard")',
type: 'POST',
data: JSON.stringify(DashboardModel),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
$('#DashboardResult').replaceWith(data);
},
error: function (request, status, err) {
alert(status);
alert(err);
}
});
});
そして私のコントローラーでは:
[HttpPost]
public ActionResult Dashboard(DashboardModel dashboard)
{
var MyProjects = EFProject.Project.Where(x => x.UserID == 1);
if (dashboard.SelectedProjectStatus != 0)
MyProjects = MyProjects
.Where(x => x.Status == dashboard.SelectedProjectStatus)
.OrderByDescending(p => p.AuditingCD)
.Skip((dashboard.Page - 1) * PageSize)
.Take(PageSize);
else
MyProjects = MyProjects
.OrderByDescending(p => p.AuditingCD)
.Skip((dashboard.Page - 1) * PageSize)
.Take(PageSize);
DashboardModel model = new DashboardModel
{
Projects = MyProjects,
PagingInfo = new PagingInfo
{
CurrentPage = dashboard.Page,
ItemsPerPage = PageSize,
TotalItems = EFProject.Project.Where(x => x.UserID == 1).Count()
}
};
if (Request.IsAjaxRequest())
{
return PartialView("DashboardResult", model);
}
else
{
return View(model);
}
}
レンダリングしようとしている部分ビューには、次のものしかありません。
@using BidThatProject.Web.Models.NonReusableModels.ProjectManagment
@model DashboardModel
<div id="DashboardResult">
</div>
親ビューには明らかに同じIDのdivがあります。少なくとも私に空のスペースを表示することで機能するはずですが、データをビューに解析して戻すのに問題があるようです。アプリケーション/jsonタイプとして読み取っていない可能性がありますか?本当にわかりません。