ASP.NET MVC рассчитать неделю

У меня есть проект ASP.NET MVC 4 с EF. В моем (созданном) представлении я хочу отображать рядом с EditorFor дату номер недели текущего года.

У меня есть помощник:

@model Helios.Models.tablename
@helper Week(DateTime dt)
{    
   CultureInfo ciCurr = CultureInfo.CurrentCulture;
   int weekNum = ciCurr.Calendar.GetWeekOfYear(dt, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
   @weekNum
}
...
<div class="editor-field">
   @Html.TextBoxFor(model => model.date_birth, new {onchange="?"}) @Week(date_birth?)
</div>

Я не уверен, что это можно сделать в Razor, но мне нужно обновить номер недели, если я изменю дату

введите здесь описание изображения

В : Как я могу отобразить номер недели? рядом с календарем и обновить его, если дата изменилась?


person Misi    schedule 12.07.2012    source источник
comment
Вы меняете дату с помощью кода или идея заключается в том, что пользователи могут изменить дату?   -  person Patrick    schedule 12.07.2012
comment
Пользователь изменяет дату в элементе управления TextBoxFor.   -  person Misi    schedule 13.07.2012


Ответы (1)


Вот сообщение о том, что касается расчета номера недели.

Как я могу рассчитать/найти неделю -число данной даты?

Но все зависит от того, планируете ли вы установить его на сервере или клиент должен иметь возможность изменять дату. Если клиент может изменить дату, вам понадобится javascript.

function(d) {

 var day = d.getDay();
 if(day == 0) day = 7;
 d.setDate(d.getDate() + (4 - day));
 var year = d.getFullYear();
 var ZBDoCY = Math.floor((d.getTime() - new Date(year, 0, 1, -6)) / 86400000);
 return 1 + Math.floor(ZBDoCY / 7);
}

Откуда: http://jquery142.blogspot.se/2010/04/how-to-get-week-number-for-date-in.html

person Patrick    schedule 12.07.2012