如何将文档文件显示为iframe从href action lnk返回?

时间:2016-07-10 03:41:54

标签: javascript html asp.net-mvc

我有一个索引页面index.cshtml.Which显示一个文档文件列表,旁边是一个iframe。我想在点击列表中的任何一个时将文档文件显示到iframe中。但是当我点击任何一个列表时文件清单显示另一页。

索引

<table>
                        @*<th>File Name</th>*@
                        @foreach (var file in Model)
                {
                                    <li>
                                        @*<a href="#"id="fileId" data-id="@file.Id">@file.Name</a>*@
                                        <a href="@Url.Action("GetFile", "Document", new { Id=file.Id})">@file.Name</a>
                                     </li>    
                    <br />
                }
                    </table>
<div id="frame" class="panel-default" >
                <div id="frame" class="panel" >
                    <iframe src="@Url.Action("GetFile", "Document", new { Id=@Model.First().Id})" width="870px" height="450px"></iframe>
                </div>
            </div> 

控制器

  [HttpGet]
    public FileStreamResult GetFile(int? Id)
    {
        if (Id == null)
            Id = 4;
        string fileName = _manager.FileNameSearch(Id);
        string filePath = ConfigurationManager.AppSettings["FilePath"] + fileName;
        FileStream fs = new FileStream(Server.MapPath(filePath), FileMode.Open, FileAccess.Read);
        return File(fs, "application/pdf");            
    }

1 个答案:

答案 0 :(得分:0)

 <div id="frame" class="panel">
<iframe id="iframe" src="@Model.Url" width="870px" height="450px" name="iframe"></iframe>
</div>    

 <li>
<a href="@Url.Action("GetFile", "Document", new { Id = Model.Id })" target="iframe">@Model.Name</a>