【发布时间】:2021-09-03 08:28:38
【问题描述】:
我有这个 html:
<div class="row">
<div class="col-md-12">
@if (Model.PendingTransactions != null)
{
<table>
<thead>
<tr>
<th class="text-center">Select</th>
<th class="text-center">@Html.DisplayNameFor(m => m.PendingTransactions.First().transactionDate)</th>
<th class="text-center">@Html.DisplayNameFor(m => m.PendingTransactions.First().debtId)</th>
<th class="text-center">@Html.DisplayNameFor(m => m.PendingTransactions.First().batchId)</th>
<th class="text-center">Delete</th>
</tr>
</thead>
<tbody>
@foreach (var transaction in Model.PendingTransactions)
{
<tr id="row_@transaction.transactionBatchId">
<td>
@Html.CheckBoxFor(m => transaction.selectedForProcessing)
@Html.HiddenFor(m => transaction.selectedForProcessing)
</td>
<td class="text-center">@Html.DisplayFor(m => transaction.transactionDate)
@Html.HiddenFor(m => transaction.transactionDate)
</td>
<td class="text-center">
@Html.DisplayFor(m => transaction.debtId)
</td>
<td class="text-center">@Html.DisplayFor(m => transaction.transactionBatchId)</td>
<td><a onclick="deleteTransaction(@transaction.transactionBatchId)" href="#"><i class="bi bi-trash" aria-hidden="true"></i></a>
</td>
</tr>
}
</tbody>
</table>
<div class="row">
<div class="col-md-12">
<input type="submit" class="btn btn-success float-right" />
</div>
</div>
}
</div>
</div>
对于这个模型:
public class PendingTransactionsViewModel
{
public List<PendingTransactionViewModel> PendingTransactions { get; set; } = new();
}
public class PendingTransactionViewModel
{
public int? transactionBatchId { get; set; }
public int? debtId { get; set; }
public DateTime? transactionDate { get; set; }
public bool selectedForProcessing { get; set; } = false;
}
虽然我能够操作视图上的复选框,但当我回发模型属性 PendingTransactions 时,它并没有回发到控制器。为了将列表恢复到控制器中,我缺少什么?
【问题讨论】:
-
您拥有 ASP.NET MVC(在完整的经典 .NET 框架上)以及 ASP.NET Core MVC - 您真正使用的是哪一个 -还是你真的需要两者的支持??
-
这是.net core mvc
-
@Laziale 不要让您感到困惑,因为您没有像在欺骗中那样使用自定义模板。根本问题是相同的,
foreach (var transaction in Model.PendingTransactions)和m => transaction.*是阻碍它的原因。解决方法也是一样的。
标签: asp.net-mvc .net-core asp.net-core-mvc