C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 90 を表示中)
■53390 / )  Re[1]: カレンダの日付クリックでConfirmを表示したい
□投稿者/ もりお (279回)-(2010/09/11(Sat) 23:56:57)
No53381 (akira さん) に返信

> Calendar1.Attributes("OnSelectionChanged") = "return confirm('カレンダ本当に移動しますか?');"

SelectionChanged イベントは Calendar コントロールのサーバー側での
イベントです。
クライアント側では処理されないため他のやり方を考える必要があります。

ブラウザでページのソースを見ていただくとわかるのですが、
Calendar コントロールは table タグとして出力されます。
各日付は a タグとして出力されます。

日付の a タグに confirm のスクリプトを登録するとよいかと思います。a タグをコードで
取得する手立てはなさそうなので Cell の中身を入れ替える作戦でいかがでしょうか。

Protected Sub Calendar1_DayRender(ByVal sender As Object, ByVal e As DayRenderEventArgs) Handles Calendar1.DayRender
  If e.Day.IsToday Then
    e.Cell.Controls.Clear()
    e.Cell.Controls.Add(createTodayLink(e))
  End If
End Sub

Protected Function createTodayLink(ByVal e As DayRenderEventArgs) As HtmlAnchor
  Dim TodayLink As New HtmlAnchor()
  TodayLink.HRef = e.SelectUrl
  TodayLink.InnerText = e.Day.DayNumberText
  TodayLink.Title = e.Day.Date.ToString("m", CultureInfo.CurrentCulture)
  TodayLink.Attributes("onclick") = "return confirm('まじで移動しますか?');")
  Return TodayLink
End Function

返信 編集キー/


管理者用

- Child Tree -