0

いくつかのファイルを印刷する ASP.NET MVC3 アプリケーションを構築しています。印刷を行うコード部分は次のとおりです。

public ActionResult Barcode(string DocumentID)
{
    barkod = new Barcode(DocumentID);
    MemoryStream ms = new MemoryStream();
    barkod.image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
    Print(barkod);
    return Redirect("Home/Index");
}

これはばかげているかもしれませんが、印刷のみを行い、ここで他に何もせず、リダイレクトなどを行わないにはどうすればよいでしょうか?

nullを返そうEmptyResultとしましたが、空白のページが表示されました。

4

1 に答える 1

1

ビューを返したくないように見えるので、ajax経由で呼び出してみませんか:

$.post('@Url.Action("Barcode")', { DocumentID : docId }, function(result) {

});

コントローラー名を含めることもできます (例: SomeController):

$.post('@Url.Action("Barcode","Some")', { DocumentID : docId }, function(result) {

});

印刷アクションに時間がかからない場合、または時間がかかりすぎるかどうかに関係なくステータスを返すだけの場合:

public ActionResult Barcode(string DocumentID)
{
   // do your thing here
    return Json(the_status_a_boolean_or_some_other_type);
}

そしてあなたのjsで:

$.post('@Url.Action("Barcode","Some")', { DocumentID : docId }, function(result) {
    if (result) {
        console.log("it's a success!");
    }
    else {
        console.log("something wrong went bad");
    }
}).error(function() {
    console.log('post action cannot be completed');
});
于 2013-04-08T13:24:05.883 に答える