|
|
|
рендеринг календаря
|
|||
|---|---|---|---|
|
#18+
как при рендеринге дня календаря приаттачить к дню js-событие onclick? чтобы при клике вызывалась js-функция, а не postback. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 15:54:46 |
|
||
|
рендеринг календаря
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, <Аноним>, Вы писали: А>как при рендеринге дня календаря приаттачить к дню js-событие onclick? А>чтобы при клике вызывалась js-функция, а не postback. Вот пример из MSDN Одним словом, подписываешься на событие DayRender , в котором и переопределяешь стандартное поведение. Думаю в этом примере не составит труда разобраться <%@ Page Language="C#" AutoEventWireup="True" %> <html> <head> <script runat="server"> void DayRender(Object sender, DayRenderEventArgs e) { // Change the background color of the days in the month // to yellow. if (!e.Day.IsOtherMonth && !e.Day.IsWeekend) { e.Cell.BackColor=System.Drawing.Color.Yellow; } // Add custom text to cell in the Calendar control. if (e.Day.Date.Day == 18) { e.Cell.Controls.Add(new LiteralControl("<br>Holiday")); } } void Page_Load(Object sender, EventArgs e) { // Manually register the event-handling method for the DayRender // event of the Calendar control. Calendar1.DayRender += new DayRenderEventHandler(this.DayRender); } </script> </head> <body> <form runat="server"> <h3>Calendar DayRender Example</h3> <asp:Calendar id="Calendar1" runat="server"> <WeekendDayStyle BackColor="gray" /> </asp:Calendar> </form> </body> </html>... << RSDN@Home 1.2.0 alpha rev. 655>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 17:11:42 |
|
||
|
рендеринг календаря
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, RustM, Вы писали: RM>Здравствуйте, <Аноним>, Вы писали: А>>как при рендеринге дня календаря приаттачить к дню js-событие onclick? А>>чтобы при клике вызывалась js-функция, а не postback. RM>Вот пример из MSDN RM>Одним словом, подписываешься на событие DayRender , в котором и переопределяешь стандартное поведение. Думаю в этом примере не составит труда разобраться [skip] В этом примере событие обрабатывается на стороне сервера. А насколько я понял, автору поста нужен скрипт на стороне клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 10:20:58 |
|
||
|
рендеринг календаря
|
|||
|---|---|---|---|
|
#18+
RB>В этом примере событие обрабатывается на стороне сервера. RB>А насколько я понял, автору поста нужен скрипт на стороне клиента. Нет, на клиенте в этом нет необходимости. там довольно просто PostBack перехватить можно. А если на стороне сервера , то надо в OnDayRender чистить конролы надо e.Cell.Controls.Clear() и перерисовывать все заново. А я предполагал что к самому первому контролу как то достучаться можно в этом событии и приаттачить один атрибут. вместо того что бы все перерисовывать...... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 11:07:46 |
|
||
|
рендеринг календаря
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Red Bird, Вы писали: RB>В этом примере событие обрабатывается на стороне сервера. RB>А насколько я понял, автору поста нужен скрипт на стороне клиента. Так в чем проблема? Вот пример с приаттачиванием нужного события private void DayRender(object sender, DayRenderEventArgs e) { HyperLink link = new HyperLink(); link.Text = e.Day.Date.Day.ToString(); // Добавляем url link.NavigateUrl = ResolveUrl("~/Default.aspx?") + e.Day.Date; // если хочется отлавливать клик link.Attributes.Add("onclick", String.Format("alert('{0}'); return false;", e.Day.Date)); e.Cell.Controls.Clear(); e.Cell.Controls.Add(link); }... << RSDN@Home 1.2.0 alpha rev. 655>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 12:03:28 |
|
||
|
рендеринг календаря
|
|||
|---|---|---|---|
|
#18+
RM>Так в чем проблема? Вот пример с приаттачиванием нужного события Все тоже самое без e.Cell.Controls.Clear(); А достать e.Cell.Controls[0] и приаттачить к нему. А так придется повторно обрабатывать то, что уже обработано выше по стеку, то есть если выходной — брать стил выходного — выводить на таком то фоне таким то цветом, если день другого месяца — брать стил... и т.п.... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 12:51:39 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=876&tid=1389472]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
202ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 193ms |
| total: | 497ms |

| 0 / 0 |
