I have an application that I am writing that dynamically builds an .ICS file by getting data input by a user. What I am trying to do is save the data to a database then offer the .ICS file for the user to download so they can add it to their calendar. I would like all of this to happen with one button click. The problem I am running into is when the button is clicked it is writing the file so the user is able to download it but it is not storing the data to the database. It stays on the page and doesn't appear to postback.
Public Sub AddToCalendar(ByVal Src As Object, ByVal e As EventArgs)
Try
Dim Subject As String = setDBText(txtSubject.text)
Dim Comment As String = setDBText(txtComment.text)
Dim StartDate As String = setDBDate(txtStartDate.value,txtStartTime.text)
Dim EndDate As String = setDBDate(txtEndDate.value,txtEndTime.text)
sqlStr = "INSERT INTO tblActivity(Subject,Comment,StartDate,EndDate) " & _
"VALUES(" & Subject & "," & Comment & "," & StartDate & "," & EndDate &")"
dc.CommandText = sqlStr
dc.ExecuteNonQuery()
lblTest.Text = "New Event Sucessfully Added"
'************
'** CREATE CODE TO BUILD ICS FILE
'************
Dim sbICSFile As StringBuilder = New StringBuilder()
Dim dtNow As DateTime = DateTime.Now
sbICSFile.AppendLine("BEGIN:VCALENDAR")
sbICSFile.AppendLine("VERSION:2.0")
sbICSFile.AppendLine("PRODID:-//AkonaDev/CalendarAppointment")
sbICSFile.AppendLine("CALSCALE:GREGORIAN")
sbICSFile.AppendLine("BEGIN:VEVENT")
' Define time zones.
' US/Eastern
sbICSFile.AppendLine("BEGIN:VTIMEZONE")
sbICSFile.AppendLine("TZID:US/Eastern")
sbICSFile.AppendLine("BEGIN:STANDARD")
sbICSFile.AppendLine("DTSTART:20071104T020000")
sbICSFile.AppendLine("RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11")
sbICSFile.AppendLine("TZOFFSETFROM:-0400")
sbICSFile.AppendLine("TZOFFSETTO:-0500")
sbICSFile.AppendLine("TZNAME:EST")
sbICSFile.AppendLine("END:STANDARD")
sbICSFile.AppendLine("BEGIN:DAYLIGHT")
sbICSFile.AppendLine("DTSTART:20070311T020000")
sbICSFile.AppendLine("RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3")
sbICSFile.AppendLine("TZOFFSETFROM:-0500")
sbICSFile.AppendLine("TZOFFSETTO:-0400")
sbICSFile.AppendLine("TZNAME:EDT")
sbICSFile.AppendLine("END:DAYLIGHT")
sbICSFile.AppendLine("END:VTIMEZONE")
' US/Central
sbICSFile.AppendLine("BEGIN:VTIMEZONE")
sbICSFile.AppendLine("TZID:US/Central")
sbICSFile.AppendLine("BEGIN:STANDARD")
sbICSFile.AppendLine("DTSTART:20071104T020000")
sbICSFile.AppendLine("RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11")
sbICSFile.AppendLine("TZOFFSETFROM:-0500")
sbICSFile.AppendLine("TZOFFSETTO:-0600")
sbICSFile.AppendLine("TZNAME:CST")
sbICSFile.AppendLine("END:STANDARD")
sbICSFile.AppendLine("BEGIN:DAYLIGHT")
sbICSFile.AppendLine("DTSTART:20070311T020000")
sbICSFile.AppendLine("RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3")
sbICSFile.AppendLine("TZOFFSETFROM:-0600")
sbICSFile.AppendLine("TZOFFSETTO:-0500")
sbICSFile.AppendLine("TZNAME:CDT")
sbICSFile.AppendLine("END:DAYLIGHT")
sbICSFile.AppendLine("END:VTIMEZONE")
' US/Mountain
sbICSFile.AppendLine("BEGIN:VTIMEZONE")
sbICSFile.AppendLine("TZID:US/Mountain")
sbICSFile.AppendLine("BEGIN:STANDARD")
sbICSFile.AppendLine("DTSTART:20071104T020000")
sbICSFile.AppendLine("RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11")
sbICSFile.AppendLine("TZOFFSETFROM:-0600")
sbICSFile.AppendLine("TZOFFSETTO:-0700")
sbICSFile.AppendLine("TZNAME:MST")
sbICSFile.AppendLine("END:STANDARD")
sbICSFile.AppendLine("BEGIN:DAYLIGHT")
sbICSFile.AppendLine("DTSTART:20070311T020000")
sbICSFile.AppendLine("RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3")
sbICSFile.AppendLine("TZOFFSETFROM:-0700")
sbICSFile.AppendLine("TZOFFSETTO:-0600")
sbICSFile.AppendLine("TZNAME:MDT")
sbICSFile.AppendLine("END:DAYLIGHT")
sbICSFile.AppendLine("END:VTIMEZONE")
' US/Pacific
sbICSFile.AppendLine("BEGIN:VTIMEZONE")
sbICSFile.AppendLine("TZID:US/Pacific")
sbICSFile.AppendLine("BEGIN:STANDARD")
sbICSFile.AppendLine("DTSTART:20071104T020000")
sbICSFile.AppendLine("RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11")
sbICSFile.AppendLine("TZOFFSETFROM:-0700")
sbICSFile.AppendLine("TZOFFSETTO:-0800")
sbICSFile.AppendLine("TZNAME:PST")
sbICSFile.AppendLine("END:STANDARD")
sbICSFile.AppendLine("BEGIN:DAYLIGHT")
sbICSFile.AppendLine("DTSTART:20070311T020000")
sbICSFile.AppendLine("RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3")
sbICSFile.AppendLine("TZOFFSETFROM:-0800")
sbICSFile.AppendLine("TZOFFSETTO:-0700")
sbICSFile.AppendLine("TZNAME:PDT")
sbICSFile.AppendLine("END:DAYLIGHT")
sbICSFile.AppendLine("END:VTIMEZONE")
' Define the event
sbICSFile.Append("DTSTART;TZID=" + ddlStartTZ.Text + ":")
sbICSFile.Append(CDATE(txtStartDate.value).Year.ToString())
sbICSFile.Append( _
FormatDateTimeValue(CDATE(txtStartDate.value).Month))
sbICSFile.Append( _
FormatDateTimeValue(CDATE(txtStartDate.value).Day) + "T")
sbICSFile.AppendLine(ddlStartTime.SelectedValue)
sbICSFile.Append("DTEND;TZID=" + ddlEndTZ.Text + ":")
sbICSFile.Append(CDATE(txtStartDate.value).Year)
sbICSFile.Append( _
FormatDateTimeValue(CDATE(txtStartDate.value).Month))
sbICSFile.Append( _
FormatDateTimeValue(CDATE(txtStartDate.value).Day) + "T")
sbICSFile.AppendLine(ddlEndTime.SelectedValue)
sbICSFile.AppendLine("SUMMARY:" + txtEventSubject.Text)
sbICSFile.AppendLine("DESCRIPTION:" + txtEventDescription.Text)
sbICSFile.AppendLine("UID:1")
sbICSFile.AppendLine("SEQUENCE:0")
sbICSFile.Append("DTSTAMP:" + dtNow.Year.ToString())
sbICSFile.Append(FormatDateTimeValue(dtNow.Month))
sbICSFile.Append(FormatDateTimeValue(dtNow.Day) + "T")
sbICSFile.Append(FormatDateTimeValue(dtNow.Hour))
sbICSFile.AppendLine(FormatDateTimeValue(dtNow.Minute) + "00")
sbICSFile.AppendLine("END:VEVENT")
sbICSFile.AppendLine("END:VCALENDAR")
Response.ContentType = "text/calendar"
Response.AddHeader("content-disposition", _
"attachment; filename=CalendarEvent1.ics")
Response.Write(sbICSFile)
Response.End()
Catch exc As Exception
lblError.text = exc.toString
End Try