使用iFrame和mvc3

时间:2013-03-26 15:35:41

标签: html asp.net-mvc-3 iframe controller

我有行动:

[HttpGet]
public ActionResult GetMenuContentFileToDisplay(int menuItemId)
{
    //......
    return File(fileAttributes.FilePath, fileAttributes.InternetMediaType,
                        Uri.EscapeUriString(fileAttributes.FileName));
}

我想使用这种方法(允许您接收文件)在iframe中显示内容。是否可以为show HTM文件实现这个?

这篇文章是必要的,因为隐藏了文件结构的用户以及检查文件权限的需要。

我会很感激任何想法。

1 个答案:

答案 0 :(得分:0)

如果您想以内联方式显示文件,可以使用iframe:

<iframe src="@Url.Action("GetMenuContentFileToDisplay", new { menuItemId = "5" })"></iframe>

为避免文件被下载,您不应该提供文件名,只能提供Content-Type

[HttpGet]
public ActionResult GetMenuContentFileToDisplay(int menuItemId)
{
    return File(
        fileAttributes.FilePath, 
        fileAttributes.InternetMediaType
    );
}

显然,这只有在浏览器识别出文件内容类型时才有效(例如,它是text/htmltext/plain)。否则,浏览器将再次提示用户下载文件。