Ich habe einen Controller, der versucht, eine Datei herunterzuladen, wenn die Datei fehlschlägt Ich möchte eine Zeichenfolge an die Ansicht senden, um den Fehler anzuzeigen. Ich versuche dies mit TempData zu erreichen, ich habe Probleme. Der Fehler wird angezeigt, wenn die Datei nicht heruntergeladen werden kann, aber wenn die Datei erfolgreich heruntergeladen wird, verschwindet die Fehlermeldung nicht. Was könnte ich falsch machen?MVC5, wie man Zeichenkette vom Kontroller zur Ansicht sendet?
-Controller
if (can_download)
{
Response.ContentType = contentType;
Response.AppendHeader("Content-Disposition", string.Format("attachment; filename={0}", filename));
Response.TransmitFile(path);
Response.End();
}
else
{
TempData["AlertMessage"] = "File failed to save";
}
return RedirectToAction("Index", page);
Ansicht
@{
var message = TempData["AlertMessage"];
}
<p class="error-msg">@message</p>
@section scripts {
var message = '@message';
if (message){
$('.error-msg').css('opacity', 100); // show message
}else{
$('.error-msg').css('opacity', 0); // hide message
}
}
Oh ich sehe. Btw in (! String.IsNullOrEmpty (Nachricht) es sagt Nachricht ist ein Objekt, keine Zeichenfolge. Wie kann ich das beheben? – ygongdev
vergaß die Besetzung von TempData [...] zu String, sorry. Bearbeitete es. –
Gleiches Problem noch tritt auf :( Sobald ich auf eine nicht herunterladbare Datei klicke, erhalte ich den Fehler. Wenn ich dann auf eine herunterladbare Datei klicke, ist der Fehler immer noch da :( – ygongdev