如何在Razor For Loop中将Razor模型转换为JS对象?

时间:2013-10-21 22:33:20

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor

我有一个Razor for loop:

@foreach (var user in Model.Users)
        {
        <p class="active-text">Active: @user.LastActive</p>
        }

我刚安装了moment.js来使用js格式化这个DateTime()日期。

如何将Razor模型传递给j​​avascript函数?我确实有一个用于此页面的JS viewmodel,我只是想避免序列化整个Model,因为我需要将一些JS应用于单个字段。我的viewModel现在如何立场:

<script type="text/javascript">
    $(document).ready(ko.applyBindings(new SubjectVm()));
</script>

1 个答案:

答案 0 :(得分:4)

我会将日期文本换行到另一个范围中以供稍后处理:

<p class="active-text">Active: <span class="active-text-date">@user.LastActive</span></p>

然后循环并在document.load中应用格式:

<script>
    $(document).ready(function() {
        $(".active-text-date").each(function() {
            var date = $(this).text();
            var formatted = moment(date).calendar();
            $(this).text(formatted);
        });
    });
</script>