2011-03-01 11 views
0

내 양식이컨트롤러 반환 파일 헤더는

{ 
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(); 
       } 
     } 


    } 

DetailsReport() 메소드가 파일을 반환하지 제출하지 볼 수

return File(renderedBytes, mimeType); 

보고서 인쇄 버튼을 클릭하면 사용자가 파일을 열 것을 요청하지 않고 파일 헤더로 div를 업데이트합니다. updatetarget ID를 제거하려고 시도했지만 파일 다운로드를 요구하지 않습니다. 또한 ajax.actionlink를 호출하여 세부 정보보고 메소드를 호출하면 올바르게 작동합니다.

감사합니다.

답변

0

내가하는 일을 이해하면 의도 한대로 작동합니다. Ajax.BeginForm()에서 요청을하기 때문에 페이지에 반환 된 내용을 표시하려고합니다. 대상을 제거해도 목표가 변경되지는 않습니다.

간단히 "보고서 인쇄"버튼을 별도의 양식 또는 양식이 아닌 부분으로 만들고 제출하기 전에 기존 양식에서 필요로하는 정보를 가져와야합니다 (자동으로 처리하지 않으므로). 해당 양식에서 제거되면)

관련 문제