我有一个强类型IEnumerable作为我的一个视图的模型。 我在视图中迭代该模型,以在HTML表格中显示每个模型的内容,其中每行代表一个模型。 当用户点击其中一行时,我希望该行的模型在jquery对话框中呈现,在该对话框中,它会在弹出窗口中显示模型内容。 有人可以解释如何将这些C#对象传递给jQuery对话框函数,或者实现此目的的任何其他替代方法都将受到赞赏。
由于
View Model
public class DTO
{
public int Id { get; set; }
[RegularExpression(@"\d+(\.\d{0})?")]
public decimal Amount { get; set; }
public string Type { get; set; }
}
View
@model IEnumerable<DTO>
<div id="expenses-list"">
@if (Model.Count() > 0)
{
<table class="table borderless">
<tbody>
<tr>
<th class="input-group-horiz">Expense</th>
</tr>
@foreach (var item in Model)
{
@Html.Partial("Item", item);
}
</tbody>
</table>
}
</div>
Partial View
@model DTO
<div id="@Model.Id">
<tr>
<td>@Model.Type</td>
<td>@Model.Amount</td>
<td><a onclick="DisplayDialog(@Model)"><img src="~/content/images/153-check.png" /></a></td>
<td><img src="~/Content/Images/17-bin.png"></td>
</tr>
</div>
JQuery Dialog
<script>
function DisplayDialog(model) {
$('#dialog').dialog({
autoOpen: true,
modal: true,
title: 'Add Expense',
width: 800,
open: function () {
}
});
}