Формат даты JTemplates с использованием asp.net mvc - PullRequest
3 голосов
/ 17 ноября 2009

У меня следующая дата JSON, возвращенная со страницы MVC, например:

"DateProcessed":"\/Date(1258125238090)\/"

и я использую JTemplates для обработки данных, как показано ниже.

$('#result').setTemplate($("#TemplateResultsTable").html());
$("#result").processTemplate(data);

Это мой шаблон результатов

<script type="text/html" id="TemplateResultsTable">    
<h3>{$T[0].StatusName} - Found: {$T.length} </h3>
<table>
    <tr>
        <th>Name</th>
        <th>Description</th>
        <th>Date Processed</th>
    </tr>
    {#foreach $T as match}
        <tr>
            <td>{$T.match.Title}</td>
            <td>{$T.match.Description}</td>
            <td>{$T.match.DateProcessed}</td>
        </tr>
    {#/for}
</table>
</script>

Все прекрасно работает, за исключением того, что моя дата выводится на страницу как / Date (1258125238090) /

Как мне отформатировать дату в шаблоне результатов?

Ответы [ 2 ]

5 голосов
/ 17 ноября 2009

Ответьте ниже, если кто-то еще ищет этот пост ...

Добавьте следующий JScript ....

function formatJSONDate(jsonDate) {
    var date = eval(jsonDate.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
    return dateFormat(date, "ddd ddS mmm yyyy");
 }  

скачайте javascript библиотека формата даты , затем в свой шаблон jTemplate добавьте

<td>{formatJSONDate($T.match.DateProcessed)}</td>

И это все!

1 голос
/ 17 ноября 2009

Я столкнулся с той же проблемой и в итоге (после большого обострения) просто возвратил дату в виде строки в моем JSON.

...