Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 控制器返回文件头以查看非文件_C#_Asp.net Mvc_Asp.net Ajax - Fatal编程技术网

C# 控制器返回文件头以查看非文件

C# 控制器返回文件头以查看非文件,c#,asp.net-mvc,asp.net-ajax,C#,Asp.net Mvc,Asp.net Ajax,我的表格是这样的 { using (Ajax.BeginForm("Log", new AjaxOptions { UpdateTargetId = "lessonTable" })) //removed dropdown list ect... for readability input type="submit" name =

我的表格是这样的

{
 using (Ajax.BeginForm("Log",
                        new AjaxOptions { 
                            UpdateTargetId = "lessonTable"
                        }))

  //removed dropdown list ect... for readability

 input type="submit" name = "submitButton" value = "Filter"          
 input type="submit" name = "submitButton" value = "Print Report"
我的控制器就是这样做的

[HttpPost]
    public ActionResult Log(lesson lesson,string submitButton)
    {
        /*Retreive all lessons*/
        List<lesson> lessonList = (from l in storeDB.lessons
                                   where l.statusID != DELETED 
                                   select l).ToList();

        /*Filter retreived Lesson*/
        lessonList = filterLesson(lesson,lessonList);

        switch (submitButton)
        {

            case "Filter":
                return PartialView(lessonList);

            default:
                {
                    return DetailsReport();
                }
        }


    }
单击“打印报告”按钮时,它正在使用文件头更新div,而不是请求用户打开该文件。我已尝试删除updatetarget ID,但它不会提示下载文件。另外,当我调用details报告方法的ajax.actionlink时,它也可以正常工作


谢谢

如果我理解你在做什么,它正在按预期工作;因为您是从
Ajax.BeginForm()
发出请求的,所以它试图显示页面中返回的内容。移除目标不会改变这一点

您只需使“打印报告”按钮成为单独表单的一部分,或者根本不是表单,并让它在提交之前从现有表单中提取所需的信息(因为一旦从该表单中删除,它不会自动执行此操作)

 return File(renderedBytes, mimeType);