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

2 に答える 2

0

// メッセージを表示するには、ここに何を返せばよいでしょうか?

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

deleteGeneratedInvoice ビューで、意味のある場所に次のように記述します。

<p>@(ViewBag.SuccessMessage ?? "")</p>
于 2012-01-26T20:40:11.013 に答える
0

このアクションを使用してアプリ内のデータを削除する場合は、フォームでサーバーに投稿し、HttpPost にのみ応答するアクションの制限を指定する必要があります。そうしないと、何かがアプリをクロールしようとするとすぐに、失礼な目覚めを迎えようとしています :-P

そうは言っても、返される情報には 3 つの選択肢があります。新しいページに戻ることができます (「ファイルが正常に削除されました」というメッセージを除いて、それが空白のページである場合、これはばかげています)。

または、Ajax を使用してポストバックするようにフォームを設定することもできます。フォームを yAjax.BeginForm()の insead で定義するとHtml.BeginForm()、他の 2 つのオプションが得られます。削除アクションから部分ビューを返し、応答が完了したときに動的に追加された DIV に部分ビューを表示するか (私の目には最も柔軟です)、または削除アクションから単純なリターン コードを返し、それに応じて戻りコードは、ページにさまざまなメッセージを表示します。これらの応答を処理する Javascript メソッドAjaxOptionsは、メソッドのパラメーターを使用して定義できますBeginForm()。これらは、OnSuccessOnErrorおよびを使用して指定された JavaScript メソッドです。OnCompleteプロパティ。これらは必須ではありませんが、最高のユーザー エクスペリエンスを得るために、少なくとも成功とエラーのメソッドを指定する必要があります。

于 2012-01-26T21:04:04.930 に答える