首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ASP MVC中,如何向用户返回新的视图和文件?

在ASP MVC中,如何向用户返回新的视图和文件?
EN

Stack Overflow用户
提问于 2010-09-08 07:30:03
回答 2查看 7.8K关注 0票数 4

我想我会在StackOverflow的人群中摆出这个姿势,因为我已经没有想法了。

我有一个来自用户的请求,一旦一个按钮被点击,他们想要自动查看的PDF表单生成,一旦他们关闭PDF的页面将已经是一个“最终页面”,而不是他们点击按钮的页面。

在我的带有按钮的预决选页面中,控制器调用:

代码语言:javascript
运行
复制
return File(finalForm, "application/pdf", Server.HtmlEncode(finalForm));

但这已经将控制传递给了客户端,我不能路由到不同的视图。

关于如何显示新视图,有什么好主意吗?

EN

Stack Overflow用户

回答已采纳

发布于 2010-09-08 19:48:30

我已经在Home Controller上将其分解为两个独立的操作,使用FinalPage操作作为重定向到的视图,使用GetFile操作返回文件本身。

控制器

代码语言:javascript
运行
复制
    public ActionResult GetFile()
    {
        return File(@"path to pdf.pdf", "application/pdf");
    }

    public ActionResult FinalPage()
    {
        return View();
    }

视图

代码语言:javascript
运行
复制
<script>

    function showfile() {
        window.open('<%= Url.Action("GetFile", "Home")%>')
    }

</script>

<%= Html.ActionLink("click", "FinalPage", "Home", null, new { onclick = "return showfile();" }) %>

这将打开一个新窗口并使文件返回显示,但也会将另一个浏览器窗口移动到最终页面上。

希望这能有所帮助。

编辑

已更新以根据评论运行提交按钮...作为对评论的回答,是的,你可以通过提交按钮来完成:-)

代码语言:javascript
运行
复制
<script>

    function showfile() {
        window.open('<%= Url.Action("GetFile", "Home")%>')
    }

</script>

<% using(Html.BeginForm("FinalPage", "Home")) { %>

    <input type="Submit" value="click" onclick="return showfile();" />

<% } %>

希望这能有所帮助:-)

票数 8
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3663480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档