1

Мне нужно отобразить сообщение об успешном завершении пользователю после удаления файла. Не знаю, как это сделать. пожалуйста помоги.сообщение об успешном завершении отображения после удаления

public ActionResult deleteGeneratedInvoice(string invoiceNumber) 
    { 
     try 
     { 
      string fileName = invoiceNumber.Trim() + ".pdf"; 
      string filePath = HostingEnvironment.MapPath("~/Content/reports/"); 
      string fullFilePath = filePath + fileName; 
      System.IO.File.Delete(fullFilePath); 

      //What shall i return here to display message? 
      return 
     } 
     catch (Exception e) 
     { 
      InvoiceSearchTool.Models.udtExceptionTable exception = new udtExceptionTable(); 
      exception.MethodName = "deleteGeneratedInvoice"; 
      exception.Exception = e.ToString(); 
      exception.Date = DateTime.Now; 
      DYNAMICS_EXTEntities db = new DYNAMICS_EXTEntities(); 
      db.AddToudtExceptionTables(exception); 
      db.SaveChanges(); 
      //return View ("Error"); 
     } 
    } 
+0

Пожалуйста, объясните свой нижний предел моему ответу и станьте честным человеком и удалите его. В конце концов, я использовал свое время, пытаясь помочь вам, и придумал правильный ответ. –

+0

downvoted, поскольку он отличался от того, что я спросил, попытался удалить его, но не мог, поскольку он заблокирован ... пожалуйста, не обижайтесь, я принимаю ваш ответ, если речь идет о простой репутации. – 14578446

ответ

0

// Что я должен здесь возвратить, чтобы отобразить сообщение?

ViewBag.SuccessMessage = "File was successfully deleted"; 
return View(); 

По вашему мнению deleteGeneratedInvoice, напишите это где-то, что имеет смысл:

<p>@(ViewBag.SuccessMessage ?? "")</p> 
+0

dont иметь какое-либо представление, чтобы вернуться сюда, то есть y i thoth отображения подтверждающего сообщения, так как сохранение типа возвращаемого типа void отображает пустое окно. – 14578446

+0

Вы можете сделать: "return Content (" Message ");" но, вернув нулевое значение, вы никогда не сможете отобразить ничего кому-либо. –

+0

Пожалуйста, объясните нижний предел. Я ответил на вопрос. Если это не соответствует вашим потребностям, не моя ошибка. –

0

Ну, если вы удалите данные в приложении с помощью этого действия, вы должны иметь это отправляется на сервер в формы и укажите ограничение на действие, которое оно только отвечает на HttpPost, иначе, как только что-то попытается выполнить сканирование вашего приложения, вы будете входить в грубое пробуждение: -P

Это, как говорится, у вас есть три выбор для возвращаемой информации. Вы можете вернуть новую страницу (это глупо, если это пустая страница, за исключением сообщения «Файл удален успешно»).

Или вы можете настроить свою форму для обратной передачи с помощью Ajax, указав форму с помощью y Ajax.BeginForm() insead of Html.BeginForm(), которая дает вам два других варианта. Либо верните частичный вид из вашего действия удаления, и покажите частичное представление в динамически добавленном DIV, когда ответ завершится (самый гибкий в моих глазах), или вы можете вернуть простой код возврата из своего действия Delete, а затем в зависимости от этого код возврата показывает разные сообщения на вашей странице. Методы Javascript, которые будут обрабатывать эти ответы, могут быть определены с использованием параметра AjaxOptions метода BeginForm(). Это методы javascript, указанные с использованием свойств OnSuccess, OnError и OnComplete. Обратите внимание, что они не требуются, но для лучшего пользовательского опыта вы должны, по крайней мере, указать методы для успешных и ошибок.

Смежные вопросы