该参数未从视图传递到操作

时间:2014-08-28 14:51:03

标签: ajax asp.net-mvc view action

这是下拉列表,其中包含我想传递给视图的参数(选定值):

<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);
    }

1 个答案:

答案 0 :(得分:2)

我在很长一段时间内没有这样做,所以我可能完全错了,但我认为你传递了错误的参数名称。在您的ajax请求中,您有biblioSiteName,并在您的操作中biblioSiteNom

在调用ajax之前还要尝试一些警告,看看读取参数biblioSiteName是否正确。