大佬教程收集整理的这篇文章主要介绍了jquery – 从Asp.net-mvc控制器操作返回File或ErrorMessage的最佳方法是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用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调用,但我不知道如何在json请求中下载我的Fie()和包(如果支持的话).
有什么建议?
$("#exportPPT").live('click',function (e) { $.get( "/Initiative/CheckForOrders" + GenerateParams(),function( data ) { if (data.IsValid) { window.location.href = "/Initiative/GenerateFile" + GenerateParams(); } else { alert(data.ErrorMessage); // or show a div containing error message } }); });
控制器动作:
public ActionResult CheckForOrders(MyParams myParams) { IEnumerable<Order> orders = Model.GetOrders(myparams); if (orders.Any()) return Json(new { IsValid=true },JsonRequestBehavior.AllowGet); return Json(new { IsValid=false,ErrorMessage="No orders" },JsonRequestBehavior.AllowGet); }
以上是大佬教程为你收集整理的jquery – 从Asp.net-mvc控制器操作返回File或ErrorMessage的最佳方法是什么?全部内容,希望文章能够帮你解决jquery – 从Asp.net-mvc控制器操作返回File或ErrorMessage的最佳方法是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。