我想我会在StackOverflow的人群中摆出这个姿势,因为我已经没有想法了。
我有一个来自用户的请求,一旦一个按钮被点击,他们想要自动查看的PDF表单生成,一旦他们关闭PDF的页面将已经是一个“最终页面”,而不是他们点击按钮的页面。
在我的带有按钮的预决选页面中,控制器调用:
return File(finalForm, "application/pdf", Server.HtmlEncode(finalForm));但这已经将控制传递给了客户端,我不能路由到不同的视图。
关于如何显示新视图,有什么好主意吗?
发布于 2010-09-08 19:48:30
我已经在Home Controller上将其分解为两个独立的操作,使用FinalPage操作作为重定向到的视图,使用GetFile操作返回文件本身。
控制器
public ActionResult GetFile()
{
return File(@"path to pdf.pdf", "application/pdf");
}
public ActionResult FinalPage()
{
return View();
}视图
<script>
function showfile() {
window.open('<%= Url.Action("GetFile", "Home")%>')
}
</script>
<%= Html.ActionLink("click", "FinalPage", "Home", null, new { onclick = "return showfile();" }) %>这将打开一个新窗口并使文件返回显示,但也会将另一个浏览器窗口移动到最终页面上。
希望这能有所帮助。
编辑
已更新以根据评论运行提交按钮...作为对评论的回答,是的,你可以通过提交按钮来完成:-)
<script>
function showfile() {
window.open('<%= Url.Action("GetFile", "Home")%>')
}
</script>
<% using(Html.BeginForm("FinalPage", "Home")) { %>
<input type="Submit" value="click" onclick="return showfile();" />
<% } %>希望这能有所帮助:-)
https://stackoverflow.com/questions/3663480
复制相似问题