今天我有个小问题困扰着我!!我已经创建了一个小的助手方法,我想总是返回星期一作为一周的第一天(即monday=0),但似乎找不到哪里错了。我正在设置我“感觉”的是对流行文化的覆盖,但无济于事。
不再赘述,代码如下:
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;
}用法:
<%=Html.ComboDaysOfWeekNumber("weekSplitEnd", myModelDayNo.ToString())%>无论如何,这总是从sunday=0开始。
有什么想法吗?
发布于 2010-11-08 15:33:10
DayNames不依赖于FirstDayOfWeek属性,设置它不会有任何效果。你可以试着这样做:
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;发布于 2010-11-08 18:07:11
达林
现在,这是我想出来的:
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;
}这“看起来”像预期的那样工作。谢谢你的指点。
吉姆
https://stackoverflow.com/questions/4119573
复制相似问题