我有一个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页面:(
答案 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"*/);
}