我对控制器中的某个函数进行了ajax调用。我需要将参数传递给该函数但它没有发生。我的ajax电话:
$("#BTN_Plus").click(function () {
var CurrentPage = @Model.CurrentPage;
$.ajax({
type: "POST",
url: "/Accueil/ListerIncidentsHotline",
data: JSON.stringify(CurrentPage),
contentType: 'application/json; charset=utf-8',
success: function (data) {
$("#Affichage").html(data);
}
});
});
我的控制器中的功能:
public PartialViewResult ListerIncidentsHotline( int page = 1)
{
int NextPage = 1 + page;
const int PageSize = 10;
int NumDossier = StructureData.DonneNumDossier((string)Session["Utilisateur"], (string)Session["MotDePasse"]);
IEnumerable<IncidentHotline> ListeIncidents = StructureData.DonneIncidentsHotline(NumDossier);
int NbreIncidents = StructureData.DonneNombreIncidents(NumDossier);
ViewBag.NombreIncidents = NbreIncidents;
var viewModel = new IncidentsPageInfo()
{
NumPages = (int)Math.Ceiling((double)ListeIncidents.Count() / PageSize),
CurrentPage = NextPage,
PageSize = PageSize,
Incidents = ListeIncidents.Skip((NextPage - 1) * PageSize).Take(PageSize),
};
return this.PartialView(viewModel);
}
当我对变量 CurrentPage 发出警报时,它会向我显示正确的值,但是当涉及到ajax调用时,我会收到一条错误,指出参数为null。无法弄清楚那是什么问题。
答案 0 :(得分:1)
以及您需要传递具有页面名称的可数值的数据,更改您的ajax数据
$.ajax({
type: "POST",
url: "/Accueil/ListerIncidentsHotline",
data: JSON.stringify(CurrentPage),
contentType: 'application/json; charset=utf-8',
success: function (data) {
$("#Affichage").html(data);
}
});
将数据更改为 data: {page: CurrentPage}
答案 1 :(得分:0)
这更容易......
$.get("/Accueil/ListerIncidentsHotline", { CurrentPage: @Model.CurrentPage } ).
done(function (data) {
$("#Affichage").html(data);
});
答案 2 :(得分:0)
显然问题来自我的ajax调用。所以我必须在方法JSON.Stringify中将参数的名称与其值连接起来,如下所示:
$("#BTN_Plus").click(function () {
var CurrentPage = @Model.CurrentPage;
alert(CurrentPage);
$.ajax({
type: "POST",
url: "/Accueil/ListerIncidentsHotline",
data: JSON.stringify({ page: CurrentPage }),
contentType: 'application/json; charset=utf-8',
success: function (data) {
$("#Affichage").html(data);
}
});
});