在View mvc4中使用Response.Redirect

时间:2014-10-22 09:19:41

标签: c# asp.net-mvc asp.net-mvc-4

我将遵循以下步骤:

  1. 在控制器动作no.1中重定向到查看no1;

  2. 在视图中我想要显示cshtml页面,然后我想通过使用

    重定向到新的第2行动
    @{Response.Redirect(Url.Action("CreatePdf", "Home");}
    
  3. 指令;

    1. 已达到行动2,我得到了我的结果(pdf文件),但我可以看到我称之为此行动的第1号视图。 如何加载此视图并显示html页面?

3 个答案:

答案 0 :(得分:1)

重定向会导致整个会话定向到新页面并丢失您发送的任何内容。我会改用jQuery:

<script type="text/javascript">
    $(document).ready(function () {
        setTimeout(DownloadPdf, 1000);
    });

    function DownloadPdf() {
        window.location = "@Url.Action("CreatePdf", "Home")";
    }
</script>

答案 1 :(得分:1)

对@DavidG的回答稍作调整:

<script type="text/javascript">
    $(document).ready(function () {
        setTimeout(DownloadPdf, 1000);
    });
    function DownloadPdf() {
        location.href = "@Url.Action("CreatePdf", "Home")";
    }
    </script>

刚刚测试和工作。它会在1秒后下载文件

答案 2 :(得分:0)

I would suggest :

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

For the View(), for document.ready function : 
$(document).ready(function () {
    $.ajax({
        url: '@Url.Action("Action2", "Controller")',
        contentType: 'application/json; charset=utf-8',
        type: 'POST',
        dataType: 'html',
        data: JSON.stringify(model)
    })
    .success(function(result) {
        // return true or false
        // html of json result
    })
    .error(function(xhr, status) {

    });

});