|
|
|
 |
 |
Исходник |
 |
|
 |
 |
|
Автор:
|
|
|
Название:
|
Время зависимая панель |
|
Дата:
|
17 October 2008 |
|
Описание: |
Контрол, представленный ниже, это панель, обладающая особыми свойствами. Эту панель можно настроить, чтобы она показывалась только в определенное время на сайте. Самый простой способ для вывода приветствия на сайте (типа доброе утро, добрый вечер, доброй ночи...). Этот контрол использовался в частности на портале DoWork.ru |
| |
Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения
следующую строку:
[CODEPOST ID=238]Время зависимая панель[/CODEPOST] |
| Оценка: |
Проголосовало 6 посетителей, средняя оценка 2.83 |
| Оценить: |
|
1 using System;
2 using System.ComponentModel;
3 using System.Web.UI.WebControls;
4
5
6
7 namespace DoWork.Presenters.Controls
8 {
9 /// <summary>
10 /// Time depended panel. The panel content is showed only in certain time.
11 /// </summary>
12 /// <remarks>
13 /// The panel content is showed only in certain time.
14 /// Define start and end showing time in
15 /// <see cref="StartTime"/> and <see cref="EndTime"/>
16 /// properties.
17 /// </remarks>
18 /// <example>
19 /// <code>
20 /// <%@ Register TagPrefix="cmsco" Namespace="DoWork.Controls" Assembly="DoWork" %>
21 ///
22 /// <cmsco:TimeDependedPanel ID="TimeDependedPanel1" runat="server"
23 /// StartTime="0:00" EndTime="6:00" >
24 /// Good night
25 /// </cmsco:TimeDependedPanel>
26 ///
27 /// lt;cmsco:TimeDependedPanel ID="TimeDependedPanel2" runat="server"
28 /// StartTime="6:00" EndTime="12:00" >
29 /// Good morning
30 /// </cmsco:TimeDependedPanel>
31 ///
32 /// <cmsco:TimeDependedPanel ID="TimeDependedPanel3" runat="server"
33 /// StartTime="12:00" EndTime="18:00" >
34 /// Good day
35 /// </cmsco:TimeDependedPanel>
36 ///
37 /// <cmsco:TimeDependedPanel ID="TimeDependedPanel4" runat="server"
38 /// StartTime="18:00" EndTime="0:00" >
39 /// Good evening
40 /// </cmsco:TimeDependedPanel>
41 /// </code>
42 /// </example>
43 public class TimeDependedPanel : PlaceHolder
44 {
45 #region Properties
46
47 private TimeSpan _StartTime = new TimeSpan();
48
49
50 /// <summary>
51 /// Start time of showing.
52 /// </summary>
53 [TypeConverter(typeof (TimeSpanConverter))]
54 public TimeSpan StartTime
55 {
56 get { return _StartTime; }
57 set { _StartTime = value; }
58 }
59
60
61
62 private TimeSpan _EndTime = new TimeSpan();
63
64
65 /// <summary>
66 /// End time of showing.
67 /// </summary>
68 [TypeConverter(typeof (TimeSpanConverter))]
69 public TimeSpan EndTime
70 {
71 get { return _EndTime; }
72 set { _EndTime = value; }
73 }
74
75
76 /// <summary>
77 /// Gets or sets a value that indicates whether a server control is rendered as UI on the page.
78 /// </summary>
79 public override bool Visible
80 {
81 get { return IsVisible(); }
82 set { }
83 }
84
85 /// <summary>
86 /// Current DateTime
87 /// </summary>
88 private DateTime Now = DateTime.Now;
89
90 #endregion
91
92
93
94 /// <summary>
95 /// Determines whether this control is visible.
96 /// </summary>
97 private bool IsVisible()
98 {
99 TimeSpan now = new TimeSpan(Now.Hour, Now.Minute, 0);
100 TimeSpan endTime = EndTime;
101
102 if (EndTime < StartTime)
103 {
104 if (EndTime.TotalMinutes == 0)
105 endTime = new TimeSpan(1, 0, 0, 0);
106 else
107 endTime = new TimeSpan(1, EndTime.Hours, EndTime.Minutes, 0);
108 }
109 return now >= StartTime && now < endTime;
110 }
111 }
112 } |
| Вернуться к списку исходников в категории Общие вопросы программирования на ASP.NET |
|
|
 |
 |
 |
 |
|
|