从asp.net Web应用程序保存Outlook项目

时间:2014-01-06 13:34:13

标签: c# asp.net outlook

我要求允许用户将应用程序中的事件保存为outlook日历项。我正在使用的代码允许将项目作为Outlook项目打开。接下来,用户可以保存并关闭。在使用保存提示时,项目将保存为系统上的第一个.ics文件,然后需要在Outlook中重新打开以将其保存在Outlook日历中,但我们希望直接保存在outllok中而不保存在系统上。请建议。 使用的代码是:

// Define the event.
            sbICSFile.AppendLine("BEGIN:VEVENT");

            //sbICSFile.Append("DTSTART;TZID=" + "US/Eastern" + ":");
            sbICSFile.Append(StartYear);
            sbICSFile.Append(
               FormatDateTimeValue(StartMonth));
            sbICSFile.Append(
               FormatDateTimeValue(StartDay) + "T");
            sbICSFile.AppendLine("000000");

            //sbICSFile.Append("DTEND;TZID=" + "US/Eastern" + ":");
            sbICSFile.Append(EndYear);
            sbICSFile.Append(
              FormatDateTimeValue(EndMonth));
            sbICSFile.Append(
              FormatDateTimeValue(EndDay) + "T");
            sbICSFile.AppendLine("000000");

            sbICSFile.AppendLine("SUMMARY:" + Subject);
            sbICSFile.AppendLine("DESCRIPTION:" + EventDetails);
            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.Clear();
            Response.ClearHeaders();
            Response.Charset = "";
            Response.ContentType = "text/calendar";
            Response.AddHeader("content-disposition",
                "attachment; filename=" + Subject + "CalendarEvent.ics");
            Response.Write(sbICSFile);
            Response.End();

1 个答案:

答案 0 :(得分:0)

通过在邮件附件中附加.ICS文件将邮件发送给与会者。