2011-02-07 72 views
1

我想通过单击按钮/ jquery打开一个pdf文件?不起作用。ActionLink的工作原理?从asp.net打开PDF文件mvc /脚本

<h2> 
    GetPDF</h2> 
<%= Html.ActionLink("works", "GetPDF") %> 
<button id="btn"> 
    does not work 
</button> 

<script type="text/javascript"> 

    $(document).ready() 
    { 
     $("#btn").click(
     function() { 
      var url = "/Home/GetPDF"; 
      var data = ""; 
      $.ajax(
     { 
      url: url, 
      type: 'POST', 
      data: data, 
      error: function(err) { 
       alert('error'); 
      } 
     } 
); 
     } 

    ) 
    }; 

</script> 

控制器看起来是这样的:

 public ActionResult GetPDF() 
    { 
      string filename = "mypdff.pdf"; 
      return File(filename, "application/pdf", Server.MapPath("/Content/") + filename); 
    } 

回答

2

它,因为你在做一个Ajax调用。生成的文件位于ajax对象中。也许你想使用window.location(...)

+1

我完全同意你的评估,只是想补充一点,可以将链接设置为一个按钮(CSS内联块,带边框,背景等),并可能在没有JavaScript的情况下达到所需的效果。 – Mayo 2011-02-07 01:41:02