Как мы получаем доступ к списку и другим полям от вида к контроллеру

Muhammad Awais спросил: 03 ноября 2018 в 08:35 в: c#

Ниже приведен мой код, но я получаю только данные таблицы в виде списка, а не в других полях. Как я могу получить и данные списка, и другие поля в контроллере. Когда я меняю тип кнопки сохранения с помощью кода "submit", вместо этого я получаю другие поля данных таблицы в виде списка. С другой стороны, когда я меняю тип кнопки сохранения на код "кнопки", предоставьте только данные таблицы вместо других полей.

, пожалуйста, решите данный код.

@using (Html.BeginForm("ClosingOfTruck", "TripManage", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        @Html.AntiForgeryToken()
        <input type="hidden" value="@ViewBag.TruckId" />        <div class="form-group">
            @Html.Label("Current Truck:", htmlAttributes: new { @class = "control-label col-md-5 adg" })
            <div class="col-md-6 adg">
                <input class="form-control" type="text" value="@ViewBag.TruckNo" disabled />
            </div>
        </div>        <div class="form-group">
            @Html.Label("Cash received from various points", htmlAttributes: new { @class = "control-label col-md-5 adg" })
            <div class="col-md-6 adg">
                <input class="form-control" type="text" name="OpeningBalance" />
            </div>
        </div>        //Table for expense should be here
        <div class="row" style="margin:0px;">
            <table id="tblCustomers" class="table" cellpadding="0" cellspacing="0">
                <thead>
                    <tr>
                        <th style="width:150px">Description</th>
                        <th style="width:150px">Amount</th>
                        <th></th>
                    </tr>
                </thead>
                <tbody></tbody>
                <tfoot>
                    <tr>
                        <td><input type="text" id="txtName" /></td>
                        <td><input type="text" id="txtCountry" /></td>
                        <td><input type="button" id="btnAdd" value="Add" /></td>
                    </tr>
                </tfoot>
            </table>
        </div>
        //end        <div class="form-group">
            @Html.Label("Received from driver", htmlAttributes: new { @class = "control-label col-md-5 adg" })
            <div class="col-md-6 adg">
                <input class="form-control" type="text" name="ReceivedFromDriver" />
            </div>
        </div>        <div class="form-group">
            @Html.Label("Pay to driver", htmlAttributes: new { @class = "control-label col-md-5 adg" })
            <div class="col-md-6 adg">
                <input class="form-control" type="text" name="PayToDriver" />
            </div>
        </div>        <div class="form-group">
            @Html.Label("Closing balance", htmlAttributes: new { @class = "control-label col-md-5 adg" })
            <div class="col-md-6 adg">
                <input class="form-control" type="text" name="ClosingBalance" />
            </div>
        </div>
        <div class="row" style="margin:0px;">
            <input class="form-control" type="button" id="btnSave" value="Save" />
        </div>
    }
</div>
@section Script{<script type="text/javascript">
            $("body").on("click", "#btnAdd", function () {
                //Reference the Name and Country TextBoxes.
                var txtName = $("#txtName");
                var txtCountry = $("#txtCountry");                //Get the reference of the Table's TBODY element.
                var tBody = $("#tblCustomers > TBODY")[0];                //Add Row.
                var row = tBody.insertRow(-1);                //Add Name cell.
                var cell = $(row.insertCell(-1));
                cell.html(txtName.val());                //Add Country cell.
                cell = $(row.insertCell(-1));
                cell.html(txtCountry.val());                //Add Button cell.
                cell = $(row.insertCell(-1));
                var btnRemove = $("<input />");
                btnRemove.attr("type", "button");
                btnRemove.attr("onclick", "Remove(this);");
                btnRemove.val("Remove");
                cell.append(btnRemove);                //Clear the TextBoxes.
                txtName.val("");
                txtCountry.val("");
            });            function Remove(button) {
                //Determine the reference of the Row using the Button.
                var row = $(button).closest("TR");
                var name = $("TD", row).eq(0).html();
                if (confirm("Do you want to delete: " + name)) {
                    //Get the reference of the Table.
                    var table = $("#tblCustomers")[0];                    //Delete the Table row using it's Index.
                    table.deleteRow(row[0].rowIndex);
                }
            };            $("body").on("click", "#btnSave", function () {
                //Loop through the Table rows and build a JSON array.
                var Exps = new Array();
                $("#tblCustomers TBODY TR").each(function () {
                    var row = $(this);
                    var customer = {};
                    customer.Desc = row.find("TD").eq(0).html();
                    customer.Amount = row.find("TD").eq(1).html();
                    Exps.push(customer);
                });                //Send the JSON array to Controller using AJAX.
                $.ajax({
                    url: $(this).attr("action"),
                    type: "POST",
                    data: JSON.stringify(Exps),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (r) {
                        alert(r + " record(s) inserted.");
                    }
                });
            });
</script>
}

0 ответов