我希望你能为我翻译以下的ASP.NET-MVC项目中的JavaScript代码和控制器操作:
Javascript:
$("#exportPPT").live('click', function (e) {
window.location.href = "/Initiative/GenerateFile" + GenerateParams();
});
C#控制器:
public ActionResult GenerateFile(MyParams myParams)
{
var template = Server.MapPath(PPT_ROOT + "/template.pptx");
IEnumerable<Order> orders = Model.GetOrders(myparams);
var pptResults = GeneratePowerpointFile(orders);
return File(pptResults.Content, "application/vnd.ms-powerpoint", pptResults.FileName);
}
但在特定情况下,比如当orders.Count()
等于0
时,我希望向用户返回一个错误消息,而不是生成一个文件。
考虑到上面的代码,最佳方法是什么?我想过将其更改为 AJAX 调用,但我不确定如何下载我的 File()
并将其打包在 JSON 请求中(或者这是否受支持)。
try{} catch{}
会发生什么?如何在保留当前页面的同时返回更友好的消息? - Nguyễn Văn Phong