将整数月转换为其名称

时间:2013-02-13 10:59:47

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

大家好我正在为我的博客做博客存档。我能够按年和月调用博客列表但我的问题是我的月以整数显示。此图像将显示它 enter image description here

我创建了 ArchiveRepository

public IQueryable<ArchiveListModel> AchiveList()
        {
            var ac = from Post in db.Posts
                     group Post by new { Post.DateTime.Year, Post.DateTime.Month }
                         into dategroup
                         select new ArchiveListModel()
                         {
                             AchiveYear = dategroup.Key.Year,
                             AchiveMonth = dategroup.Key.Month,
                             PostCount = dategroup.Count()
                         };

            return ac;
        }

我在控制器

中调用了它
public ActionResult Archive()
        {
            var archivelst = repository.AchiveList().ToList();
            return View(archivelst);
        }

然后在我的查看

中显示
<h2>Archives</h2>

<table>
    <tr>
        <th>
            AchiveYear
        </th>
        <th>
            AchiveMonth
        </th>
        <th>
            PostCount
        </th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @item.AchiveYear
        </td>
        <td>
            @item.AchiveMonth
        </td>
        <td>
            @item.PostCount
        </td>      
    </tr>
}

</table>

如何将其转换为整数? T_T

修改
我尝试使用Google搜索并找到了答案

CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);

但我不知道把它放在哪里.. :(

2 个答案:

答案 0 :(得分:4)

在查看页面

中尝试(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);
@foreach (var item in Model) {
<tr>
    <td>
        @item.AchiveYear
    </td>
    <td>
        @System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(item.AchiveMonth)
    </td>
    <td>
        @item.PostCount
    </td>      
</tr>
}

答案 1 :(得分:0)

试试这个......

AchiveMonth = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(dateGroup.Key.Month),