отобразить сообщение об успешном завершении после удаления - PullRequest
1 голос
/ 27 января 2012

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

    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");
        }
    }

Ответы [ 2 ]

0 голосов
/ 27 января 2012

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

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

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

0 голосов
/ 27 января 2012

// Что мне вернуться сюда для отображения сообщения?

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

В представлении deleteGeneratedInvoice напишите куда-нибудь, что имеет смысл:

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