Я пытаюсь отформатировать дату, используемую с jqgrid.
Я использую леса MVC с T4.
В шаблоне T4 есть одна деталь, подобная этой
jQuery("#ajaxGrid").jqGrid({
url: '@Url.Action("GridData")',
datatype: "json",
jsonReader: { repeatitems: false, id: "<#= Model.PrimaryKeyName #>" },
colNames: [<#= string.Join(", ", properties.Select(prop => "'" + prop.Name + "'")) #>],
colModel: [
<#= string.Join(", \r\n ", properties.Select(prop =>
string.Format("{{ name: '{0}', editable: true, sortable: true, hidden: {1}, align: {2} {3}}}", prop.Name, prop.Name == Model.PrimaryKeyName ? "true" : "false", "left", prop.Type.ToString() == "DateTime" ? "sorttype: 'date', datefmt: 'm/d/Y h:i AmPm'": "")
)) #>
],
rowNum: 5,
pager: '#ajaxGridPager',
width: '850',
height: '15em'
});
prop.Type.ToString () == "DateTime"? "sorttype: 'date', datefmt: 'm / d / Y h: i AmPm'": "" не работает.
Я хочу отформатировать дату, если поле имеет значение DateTime, как на веб-странице, которую я вижу / Date (1315968717587) /, и я хочу изменить шаблон T4, чтобы автоматически генерировать его правильно для будущих объектов.
Как я могу это сделать?
Заранее спасибо! Гильермо.
EDIT
Я прочитал, что могу ссылаться на Microsoft.VisualBasic и использовать
Microsoft.VisualBasic.Information.TypeName(prop)
Но возвращается CodeProperty2. Я не могу понять, как получить реальный тип.
Я пробовал с
Microsoft.VisualBasic.Information.TypeName(prop).Type
и тогда он говорит:
ошибка CS1061: преобразование компиляции: строка не содержит определения типа и метод расширения типа не принимает первый аргумент
может быть найден комментарий типа 'string' (вам не хватает директивы using или ссылки на сборку?)
Так что он знает, что это строка, но ToString () также возвращает CodeProperty2.
Есть идеи?
Заранее спасибо! Гильермо.