将 Model.ID 传递给模态和 运行 方法

Passing Model.ID to modal and running a method

我有一个 table,我想将一行 (dataID) 传递给控制器​​中的一个方法。

$(document).ready(function () {
    $('.modalRed').click(function () {
            var url = $('#ledgerModal').data('url');
            $.get(url, function (data) {
                $("#ledgerModal").html(data);
                $("#ledgerModal").modal('show');
            });
    });

});
<table class="tableCustomTableOne" width="40%">
    <tr>
        <th nowrap="nowrap">
            @Html.LabelFor(model => model.Name, htmlAttributes: new {@class = "control-label col-md-2" })
        </th>
        <th nowrap="nowrap">
            @Html.LabelFor(model => model.Data, htmlAttributes: new { @class = "control-label col-md-2" })s
        </th>
    </tr>
    @foreach (var item in (ViewBag.MainLedger as List<ModalApp.Models.Ledger>))
        {
            <tr class="modalRed">
                <td nowrap="nowrap">
                    @Html.DisplayFor(modelItem => item.Name)
                </td>
                <td nowrap="nowrap">
                    @Html.DisplayFor(modelItem => item.Data),
                </td>
            </tr>
            <tr class="modal fade" id="ledgerModal" role="dialog" data-url='@Url.Action("detLedgerPartial","Ledger", new { id = item.Id })'></tr>
        }
</table>

但它只打开有关第一个“id”的行的信息 我怎样才能让它从特定行发送 ID?

Id select 或始终 select 指定 id 的第一个元素,因为你有许多 <tr> 具有相同的 id ledgerModal,所以只有第一个将 selected。像这样更改您的 jquery:

$('.modalRed').click(function () {
    var $tr = $(this).next('tr');
    var url = $tr.data('url');
    console.log(url);
    $.get(url, function (data) {
        $tr.html(data);
        $tr.modal('show');
    });
});