#c# #asp.net
#c# #asp.net
Вопрос:
Есть способ заменить страницу в определенную дату и время?
пример: я хочу, чтобы в пятницу default.aspx отключился, а другая страница превратилась в default.aspx … а затем в воскресенье вернется первый default.aspx.
у кого-нибудь есть идея? может быть, будет лучше изменить отображение по умолчанию.aspx. мне нужно заменить экран на «мы отключены на некоторое время» или что-то в этом роде.
я имею в виду, что кнопка сделает это…
использование c #. asp.net
Ответ №1:
Ну, вы могли бы создать вторую страницу, на которую ваши пользователи переходили бы, когда страница закрыта, и назвать ее чем-то вроде ApplicationDown. Затем вы могли бы запрограммировать перенаправление на эту страницу только для пятницы и субботы.
if ((DateTime.Now.DayOfWeek == DayOfWeek.Friday amp;amp; DateTime.Now.Hour >= 17) ||
DateTime.Now.DayOfWeek == DayOfWeek.Saturday)
{
Response.Redirect("ApplicationDown.aspx");
}
Кажется странным способом выполнения действий, но это сработало бы для вас, если бы вы поместили его в начало загрузки страницы Default.aspx.
Комментарии:
1. что ж, отлично, я могу сделать это на главной странице, и тогда весь сайт будет работать правильно (все страницы, на которых есть эта главная страница)? пример: если кто-то помнит, что на сайте есть ссылка: www.mysite.com/bla.aspx и попробуйте ввести эту ссылку, а в bla.aspx есть masterpage — она отключится, верно?
2. Да, вы можете сделать это таким образом «(DateTime.Now.DayOfWeek == День недели. Пятница amp;amp; Дата-время.Сейчас. Час > = 17)» Где число — это час, в который вы хотите закрыть (в 24-часовом формате). Я обновил код в своем ответе, чтобы показать это.
Ответ №2:
Одним из способов было бы превратить ваше содержимое, зависящее от даты, в UserControl и отображать разные содержимое на странице в зависимости от даты.
Ответ №3:
Просто поместите файл app_offline.htm в корневой папке вашего приложения.
Комментарии:
1. Но разве ему не пришлось бы делать это вручную каждую пятницу? Похоже, он хотел бы более динамичный подход. Я никогда не слышал о app_offline.aspx, так что на данный момент это совершенно ново для меня, поэтому, пожалуйста, простите за невежество.
Ответ №4:
Если вам просто нужно отобразить сообщение down, поместите это в свою разметку (не в коде):
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<%if (DateTime.Today.DayOfWeek == DayOfWeek.Friday)
{ %>
We're down.
<%} else{ %>
Insert regular site content here
<%} %>
</asp:Content>
Мой находится в контенте, но просмотр этого должен дать вам представление о том, как это работает. Или вы также могли бы сделать это:
if (DateTime.Today.DayOfWeek == DayOfWeek.Friday)
Response.Redirect("downmessage.aspx");
Комментарии:
1. Конечно, это предполагает, что у вас уже есть способ закрыть ваш сайт, все еще позволяя пользователям перейти к default.aspx.
Ответ №5:
Поместите этот код в default.aspx или его код за:
if(DateTime.Now > new DateTime(2011, 4, 23) amp;amp; DateTime.Now < new DateTime(2011, 4, 30) )
Response.Redirect("Down.aspx");
Итак, если мы находимся между 2011-04-23 и 2011-04-30, она будет перенаправлена на «Down.aspx»