Добавить событие нажатия на динамическую кнопку внутри календаря - PullRequest
0 голосов
/ 21 мая 2018

У меня есть элемент управления календарем на моем веб-сайте (vb.net в asp.net) (стандартный элемент управления календарем, но я манипулировал им, и теперь он выглядит как календарь outlook)

События добавляются в календарьв качестве динамических кнопок, и каждая кнопка имеет уникальный идентификатор , который является одинаковым даже после обратной передачи.

Это мой код для создания кнопки и добавления ее в соответствующую ячейку в календаре:

Protected Sub Calendar1_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar1.DayRender

Dim nextDate As DateTime
    If Not dsHearings Is Nothing Then
        For Each dr As DataRow In dsHearings.Tables(0).Rows
            nextDate = CType(dr(6), DateTime)
            If nextDate = e.Day.Date Then
                e.Cell.BackColor = System.Drawing.Color.LightGoldenrodYellow
                Dim btn As New Button
                btn.Text = Left(dr(7).ToString, 5) & "-" & "جلسة في ملف" & dr(1) & " " & dr(2) & " (" & dr(8) & ")"
                btn.CssClass = "CalendarHearingEvent"
                btn.BackColor = Drawing.Color.Red
                btn.ToolTip = "جلسة في ملف" & dr(1) & " " & dr(2) & " (" & dr(8) & ")"
                btn.ID = "btnHearings" & dr(9).ToString
                btn.UseSubmitBehavior = True
                AddHandler btn.Click, AddressOf Me.HearingButton_Click

                Dim lbl As New Label
                lbl.Text = "<br>"
                e.Cell.Controls.Add(lbl)
                e.Cell.Controls.Add(btn)

            End If
        Next
    End If

И это субподрядчик Обработка:

Private Sub HearingButton_Click(sender As Object, e As EventArgs)

End Sub

Все идеально, но событие нажатия не стреляет

Пожалуйста, помогите

1 Ответ

0 голосов
/ 04 июля 2019

Я использовал LinkButton и установил свойство href кнопки ссылки на

lnkButton.Attributes ("href") = e.SelectUrl

Код

lnkButton = New LinkButton()
lnkButton.CommandArgument = objScheduleDetail.SelectedDate
lnkButton.Text = <Write your text here>
lnkButton.ID = "lnkView" ' you can make it unique as well
lnkButton.Attributes("href") = e.SelectUrl
e.Cell.Controls.Add(lnkButton)

Теперь при нажатии этой кнопки ссылки происходит событие Calendar.SelectionChanged.и я использую Calendar1.SelectedDate, чтобы получить дату нажатой кнопки.

Protected Sub Calendar1_SelectionChanged(sender As Object, e As System.EventArgs) Handles Calendar1.SelectionChanged


   Calendar1.SelectedDate ' date which is clicked.

End Sub
...