如何有一个操作结果返回文件流或JSON回视图在MVC 4

本文关键字:JSON 视图 MVC 有一个 操作 结果 文件 返回 | 更新日期: 2023-09-27 17:51:16

我正在使用MVC 4创建一个应用程序。目前,我有一个视图,当用户单击一个按钮时,它将数据发送回一个操作方法,该操作方法检索一些数据,并根据该数据向用户返回一个报告。

public ActionResult GetsData(DefectLetterCriteriaViewModel viewModel)
{
    .. get data code...
    using (FileStream templateStream = new FileStream(WebConfigurationManager.AppSettings["DefectLetterLocation"].ToString(), FileMode.Open))
    {
        .....generate document code
        return new FileStreamResult(outputDocumentStream, 
        "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
    }
}

这很好,用户得到数据的报告。但是我想做的是,如果没有数据,我想让用户知道没有数据,而不是返回一个空报告。

我如何做到这一点?目前,用户只是将数据发布回来。如何从帖子中获取JSON数据?还是我必须使用Ajax发布?如果我使用Ajax发布,我如何从Ajax得到一个文件流结果?

如何有一个操作结果返回文件流或JSON回视图在MVC 4

检查这些:

if(no_data)
{
   //1.
   return Content("<script language='javascript' type='text/javascript'>alert('No Data');</script>");
   //Or
   //2.
   string s = "alert('No Data');";   
   return JavaScript(s); 
}