2009-09-22 2 views
0

Я создаю пользовательскую CMS в ASP.NET MVC, и одним из требований является то, что содержание имеет дату начала и окончания, которая определяет, отображается ли страница на сайте. Каков наилучший подход к этому? Должен ли я запускать какое-то хроновое задание, чтобы отметить статус страницы в соответствии с датами ее публикации? У кого-нибудь есть какие-либо ресурсы или советы по этому вопросу?Публикация по дате ASP.NET MVC

ответ

1

Почему бы просто не сделать что-то вроде этого

bool visible = true; 
if (startdate > now || enddate < now) 
    visible = false; 

Таким образом, вы не должны иметь другой процесс.

+0

Или даже: BOOL видимую = StartDate <Теперь && Теперь

+0

это не сложная часть задания :) –

0

Вы, похоже, хотите создать модель, отвечающую за выбор активных элементов.

В зависимости от размера (количества) элементов, которые вы запрашиваете, для сохранения времени отклика.

Если у вас есть много предметов, вам лучше использовать сервис Windows, чтобы отметить активные элементы.

также вы можете указать столбец, который вы используете, чтобы отметить активные элементы.

в качестве альтернативы, вы можете сделать View отвечает за отображение или скрытие элемента

foreach(var item in Model) 
if(Item.DisplayAllowed) renderpartial("ItemView",item); 
+2

Наличие службы Windows может потенциально решить проблемы масштабирования, как вы указываете. Но я бы совершенно не решался поставить условную логику в представление. Пуристы MVC среди нас будут сильно утверждать, что в представлении не должно быть никакой логики, данные, которые вы представляете вашему представлению, должны быть правильно отфильтрованы. –

+0

Я согласен с вами osborn, но я делаю анти-шаблон, если шаблон становится нецелесообразным ... кроме того, представление отвечает за обработку презентации, и эта проблема как-то есть. (кажется, мы находимся в серой области: D) –

Смежные вопросы