首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateTimeFormatInfo()和FirstDayOfWeek的html helper问题

DateTimeFormatInfo()和FirstDayOfWeek的html helper问题
EN

Stack Overflow用户
提问于 2010-11-08 04:39:48
回答 2查看 245关注 0票数 0

今天我有个小问题困扰着我!!我已经创建了一个小的助手方法,我想总是返回星期一作为一周的第一天(即monday=0),但似乎找不到哪里错了。我正在设置我“感觉”的是对流行文化的覆盖,但无济于事。

不再赘述,代码如下:

代码语言:javascript
复制
public static string ComboDaysOfWeekNumber(this HtmlHelper helper, 
                     string id, string selectedValue)
{
    var cultureInfo = new DateTimeFormatInfo();
    cultureInfo.FirstDayOfWeek = DayOfWeek.Monday;
    var newitems = cultureInfo
        .DayNames
        .Select((dayName, index) => new SelectListItem
        {
            Value =(index).ToString(),
            Text = dayName,
            Selected = (selectedValue == dayName)
        });

    var result = helper.DropDownList(id, newitems).ToHtmlString();
    return result;
}

用法:

代码语言:javascript
复制
<%=Html.ComboDaysOfWeekNumber("weekSplitEnd", myModelDayNo.ToString())%>

无论如何,这总是从sunday=0开始。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-08 15:33:10

DayNames不依赖于FirstDayOfWeek属性,设置它不会有任何效果。你可以试着这样做:

代码语言:javascript
复制
var cultureInfo = new DateTimeFormatInfo();
var dayNames = new[] 
{
    DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, 
    DayOfWeek.Thursday, DayOfWeek.Friday, DayOfWeek.Saturday, 
    DayOfWeek.Sunday 
}.Select(cultureInfo.GetDayName);

var newitems = dayNames
    .Select((dayName, index) => new SelectListItem
    {
        Value =(index).ToString(),
        Text = dayName,
        Selected = (selectedValue == dayName)
    });

var result = helper.DropDownList(id, newitems).ToHtmlString();
return result;
票数 1
EN

Stack Overflow用户

发布于 2010-11-08 18:07:11

达林

现在,这是我想出来的:

代码语言:javascript
复制
public static MvcHtmlString ComboDaysOfWeekNumber(this HtmlHelper helper, 
                              string id, int selectedValue)
{

    var dayNames = new[]
                       {
                           DayOfWeek.Monday, DayOfWeek.Tuesday, 
                           DayOfWeek.Wednesday, DayOfWeek.Thursday, 
                           DayOfWeek.Friday, DayOfWeek.Saturday,
                           DayOfWeek.Sunday
                       };

    var newitems = dayNames
        .Select((dayName, index) => new SelectListItem
        {
            Value =(index).ToString(),
            Text = dayName.ToString(),
            Selected = (selectedValue == index)
        });

    var result = helper.DropDownList(id, newitems);
    return result;
}

这“看起来”像预期的那样工作。谢谢你的指点。

吉姆

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4119573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档