MVC,如何将数据发布到控制器并重定向到aspx页面

时间:2017-08-21 14:16:29

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

我有一个MVC视图,用户可以在其中设置标志并将数据发布到控制器(因为我想隐藏查询字符串,所以

控制器完成工作后我想重定向到网站主页,这是一个aspx页面(我的网站是混合的aspx和MVC)

有办法吗?

这是我的观点

[HttpPost]
public RedirectResult VaiAllaHome(bool? nascondi = false, IEnumerable<Messaggio> elencoPost = null)
{
    // do something

    return Redirect(Url.Content("~/"));
}

这就是控制器

CloudFrontCookieSigner.getCookiesForCustomPolicy(this.resourcePath,pk,this.keyPairId,expiresOn,null,"0.0.0.0/0");

当我运行此代码控制器时,执行操作没有错误但是没有重定向并且浏览器保留在视图上

其他问题是elencoPost参数在操作中为空,但我正在调查

修改

老实说,我想在输入更改上发布数据,并为简单的链接切换按钮

编辑2:

找到原因:在default.aspx中我有一个自动重定向到Message页面:(

3 个答案:

答案 0 :(得分:1)

尝试

return Redirect("~/home.aspx");

return Redirect(Url.Content("~/home.aspx")

答案 1 :(得分:0)

您应该可以将Redirect与相对网址一起使用:

    [HttpPost]
    public RedirectResult VaiAllaHome(bool? nascondi = false, IEnumerable<Messaggio> elencoPost = null)
    {
        // do something

        return Redirect("/home.aspx");
    }

答案 2 :(得分:-1)

尝试在表单标记上使用@ Url.Content

<form action="@Url.Content("~/Messaggi/VaiAllaHome/")">

然后在您的控制器中

[HttpPost]
public RedirectResult VaiAllaHome(bool? nascondi = false, IEnumerable<Messaggio> elencoPost = null)
{
    // do something

    return View(Url.Content("~/"));
    //return RedirectToAction("Action", "Controller", new { routeParameter = value } /*e.g. "id = 1"*/);
}