Как передать объект jQuery в качестве параметра в jqGrid, используя пространство имен lib.web.mvc

Я впервые пытаюсь настроить jqGrid с помощью Lib.Web.MVC. Как только я смогу выполнить начальную настройку, я смогу двигаться более плавно.

Я скачал файл chm для помощника Lib.Web.Mvc и заглянул под JqGridHelper, но не могу найти ничего о том, как сделать вышеуказанную строку темы. Я также искал в Интернете, но не могу найти ничего конкретного о том, что мне нужно делать.

Мне нужно передать объект в мой метод в качестве входного параметра, но я не знаю, как настроить это с помощью Lib.Web.Mvc.

В jQuery для настройки объекта я делал следующее, что передавалось в объект просто отлично.

var HH_FuelTkt_Input = {
                                Vehicle_No: $('#txtVehicleNbr').val(),
                                Customer_Name: $('#txtCustomerName').val(),
                                Trans_Timestamp_Begin: $('#dteBeginDate').val(),
                                Trans_Timestamp_End: $('#dteEndDate').val()
                            };
                            $.ajax({
                                url: '@Url.Action("GetFilteredFuelTicketsAsync")',
                                data: JSON.stringify(HH_FuelTkt_Input),   

Как я могу сделать то же самое, используя пространство имен lib.web.mvc? Вот мой код для этого. Обратите внимание, что строка "JqGridParametersNames.HH_FuelTkt_Input" говорит об отсутствии определения для "HH_FuelTkt_Input". Это имеет смысл, потому что Помощник не может найти этот объект. Как я могу сообщить помощнику об этом объекте jQuery?

<table id="fuelTickets" class="table">
                  @{
                    var grid = new JqGridHelper<FuelTktImgRetrievalMdl.ViewModels.HH_FuelTkt_Output>("FuelTickets",
                      dataType: JqGridDataTypes.Json,
                      methodType: JqGridMethodTypes.Post,
                      pager: true,
                      rowsNumber: 10,
                      sortingName: "FuelTkt_ID",
                      sortingOrder: JqGridSortingOrders.Asc,
                      viewRecords: true,
                      autoWidth: true,
                      gridView: true,
                      JqGridParametersNames.HH_FuelTkt_Input,
                      url: Url.Action("GetFilteredFuelTicketsAsync"),
                      caption: "Fuel Tickets",
                      onCellSelect: "getImageId",
                      emptyRecords: "No records to view"
                    );
                }
            </table>

1 ответ

Вы можете достичь этого с помощью свойства PostDataScript, что-то вроде этого:

@{
    var grid = new JqGridHelper<FuelTktImgRetrievalMdl.ViewModels.HH_FuelTkt_Output>("FuelTickets",
        dataType: JqGridDataTypes.Json,
        methodType: JqGridMethodTypes.Post,
        pager: true,
        rowsNumber: 10,
        sortingName: "FuelTkt_ID",
        sortingOrder: JqGridSortingOrders.Asc,
        viewRecords: true,
        autoWidth: true,
        gridView: true,
        JqGridParametersNames.HH_FuelTkt_Input,
        url: Url.Action("GetFilteredFuelTicketsAsync"),
        caption: "Fuel Tickets",
        onCellSelect: "getImageId",
        emptyRecords: "No records to view",
        postDataScript: "function() { return { Vehicle_No: $('#txtVehicleNbr').val(), Customer_Name: $('#txtCustomerName').val(), Trans_Timestamp_Begin: $('#dteBeginDate').val(), Trans_Timestamp_End: $('#dteEndDate').val() }; }"
    );
}

Объект будет доступен для вашего метода действия стандартным способом (например, вы можете создать для него объект и сделать этот объект другим параметром вашего действия).

Другие вопросы по тегам