2017-02-04 8 views
0

у меня есть метод управления, который загрузить файл изображения, не с помощью JQuery AJAX, из <input> типа «файл», метод возвращает:Показать сообщение toastr после метода контроллера закончить

Return Redirect(Request.UrlReferrer.PathAndQuery) 

Потому что я хочу оставайтесь в том же представлении после нажатия кнопки отправки.

Я хочу показать после успешной загрузки изображения, toastr.success.

Как я могу это сделать?

+1

Если вы хотите, чтобы остаться на той же странице, а затем использовать Ajax. В качестве альтернативы, если вы перенаправляете назад на ту же страницу или на другую страницу), вам необходимо передать ей сообщение. –

+0

Как я передаю сообщение? –

+1

Многочисленные способы - например, от метода POST до метода GET через «TempData», а затем в представление, используя «ViewData», если вы перенаправляете. Это путь к широкому. –

ответ

0

В вашем методе почтовых действий после успешной загрузки установите запись в словарь TempData и прочитайте его в следующем представлении, которое загружается методом перенаправления и отображает сообщение toastr.

TempData["Msg"] = "Uploaded successfully"; 
return Redirect(Request.UrlReferrer.PathAndQuery); 

на ваш взгляд

<script> 
    $(function(){ 
    var msg = "@(TempData["Msg"] as string)"; 
    if (msg !== "") { 
     toastr.success(msg); 
    } 
    }); 
</script>