这是下拉列表,其中包含我想传递给视图的参数(选定值):
<select id="sltBiblioSite" name="sltBiblioSite">
<option>Sélectionnez un BiblioSite</option>
@*Iterating BiblioSite Model*@
@foreach (var item in Model)
{
<option>
@item.NomSite
</option>
}
</select>
这是我尝试不同的东西(见下面的评论代码)将参数传递给fucntion的地方:
var selectedBiblioSiteName;
$("#sltBiblioSite").change(function () {
//selectedBiblioSiteName = $("#sltBiblioSite").val();
//selectedBiblioSiteName = $("#sltBiblioSite").val().trim();
//selectedBiblioSiteName = $("#sltBiblioSite option:selected").text();
//selectedBiblioSiteName = $("#sltBiblioSite > option:selected").attr("value")
...
}
});
这是一个应该通过调用局部视图传递参数的函数。
function getReservationTable() {
$.ajax({
// Get Reservation PartialView
url: "/Home/ReservationsToPartialView",
type: 'Get',
data: { biblioSiteName: selectedBiblioSiteName },
success: function (data) {
$("#reservationDetailTable").empty().append(data);
},
error: function () {
alert("something seems wrong");
}
});
}
我试图在动作中对参数进行硬编码并且它正在工作。 问题似乎在视图中,但我不知道在哪里,请帮我解决这个问题。
public ActionResult ReservationsToPartialView(string biblioSiteNom)
{
//biblioSiteNom = "La feuille de chene";
var reservationByBiblio = ReservationLinq.GetReservationByBiblioSite(biblioSiteNom);
return PartialView("ReservationPV", reservationByBiblio);
}
答案 0 :(得分:2)
我在很长一段时间内没有这样做,所以我可能完全错了,但我认为你传递了错误的参数名称。在您的ajax请求中,您有biblioSiteName
,并在您的操作中biblioSiteNom
。
在调用ajax之前还要尝试一些警告,看看读取参数biblioSiteName
是否正确。