MVC将视图模型传递给嵌入式javascript函数

时间:2018-02-09 13:34:09

标签: javascript jquery asp.net-mvc

我有一个强类型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 () {
        }
    });
}

0 个答案:

没有答案