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

Rob*_*ous 1 asp.net-mvc razor asp.net-mvc-3 asp.net-mvc-4

我有一个 Razor for 循环:

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

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

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

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

McG*_*gle 6

我会将日期文本包装在另一个跨度中以供以后处理:

<p class="active-text">Active: <span class="active-text-date">@user.LastActive</span></p>
Run Code Online (Sandbox Code Playgroud)

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

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