そのため、アクション内でファイルをダウンロード可能にするために必要なものがまだ得られません。
だから、これが私が持っているコントローラーです。クライアント側にダウンロードするファイルを受け取らないことを除いて、すべてが正常に機能しているようです。
<HttpPost()>
Function meetingCP(idCont As Integer, idOpp As Integer, schedule As String) As FileResult
Dim id As Integer = 0
Dim iCSFile As StringBuilder = New StringBuilder()
Dim startDate As Date = schedule
Dim endDate As Date = startDate.AddMinutes(30)
iCSFile.AppendLine("BEGIN:VCALENDAR")
iCSFile.AppendLine("VERSION:2.0")
iCSFile.AppendLine("METHOD:REQUEST")
[bla bla bla]
iCSFile.AppendLine("DESCRIPTION:Reminder")
iCSFile.AppendLine("END:VALARM")
iCSFile.AppendLine("END:VEVENT")
iCSFile.AppendLine("END:VCALENDAR")
Dim StreamWriter As StreamWriter = New StreamWriter("C:\MvcApplication4\MvcApplication4\Content\test.ics")
StreamWriter.WriteLine(iCSFile)
StreamWriter.Close()
Return File(iCSFile.ToString, "text/plain", "MeetingRequest.ics")
'Return File(Encoding.UTF8.GetBytes(iCSFile.ToString()), "text/plain", "MeetingRequest.ics")
End Function
そして、このアクションはajaxによって呼び出されます。それが問題かもしれませんか?
function meetCP(idCont, idOpp) {
var meetCPSelect = ("#meettime" + idCont);
var dateTime = $(meetCPSelect).val();
$.ajax({
url: '@Url.Action("meetingCP")',
type: 'POST',
data: { idCont: idCont, idOpp: idOpp, schedule: dateTime },
success: function (result) { }
});
};