C# MVC,如何将数据发布到控制器并重定向到aspx页面
我有一个MVC视图,用户可以在其中设置标志并将数据发布到控制器(发布是因为我想隐藏查询字符串) 控制器完成工作后,我想重定向到网站主页,这是一个aspx页面(我的网站是混合aspx和MVC) 有办法吗 这是我的看法C# MVC,如何将数据发布到控制器并重定向到aspx页面,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有一个MVC视图,用户可以在其中设置标志并将数据发布到控制器(发布是因为我想隐藏查询字符串) 控制器完成工作后,我想重定向到网站主页,这是一个aspx页面(我的网站是混合aspx和MVC) 有办法吗 这是我的看法 @model MessaggiVM <form role="form" class="form-inline" method="post" action="Messaggi/VaiAllaHome"> <button id="btnHome">Vai
@model MessaggiVM
<form role="form" class="form-inline" method="post" action="Messaggi/VaiAllaHome">
<button id="btnHome">Vai alla pagina iniziale</button>
<div class="form-group">
<label for="nascondi">hiding</label>
<input id="nascondi" type="checkbox" name="nascondi" value="true" />
</div>
<input type="hidden" name="elencoPost" value="@Model.Posts" />
@*@Html.ActionLink("Messaggi", "VaiAllaHome", new { posts = Model.Posts} )*@
</form>
@model messagivm
我的天哪
躲藏
@*@ActionLink(“Messaggi”,“VaiallHome”,new{posts=Model.posts})*@
这是控制器
[HttpPost]
public RedirectResult VaiAllaHome(bool? nascondi = false, IEnumerable<Messaggio> elencoPost = null)
{
// do something
return Redirect(Url.Content("~/"));
}
[HttpPost]
公共重定向结果VAIALLHOME(bool?nacondi=false,IEnumerable elencoPost=null)
{
//做点什么
返回重定向(Url.Content(“~/”);
}
当我运行此代码时,控制器操作将无错误地执行,但重定向未完成,浏览器仍保留在视图上
另一个问题是elencoPost参数在操作中为空,但我正在研究它
编辑
老实说,我想发布数据的输入变化和开关按钮的一个简单的链接
编辑2:
找到原因:在default.aspx中,我有一个自动重定向到消息页的功能:(您应该能够使用相对url的
重定向:
[HttpPost]
public RedirectResult VaiAllaHome(bool? nascondi = false, IEnumerable<Messaggio> elencoPost = null)
{
// do something
return Redirect("/home.aspx");
}
[HttpPost]
公共重定向结果VAIALLHOME(bool?nacondi=false,IEnumerable elencoPost=null)
{
//做点什么
返回重定向(“/home.aspx”);
}
您应该能够将重定向
与相对url一起使用:
[HttpPost]
public RedirectResult VaiAllaHome(bool? nascondi = false, IEnumerable<Messaggio> elencoPost = null)
{
// do something
return Redirect("/home.aspx");
}
[HttpPost]
公共重定向结果VAIALLHOME(bool?nacondi=false,IEnumerable elencoPost=null)
{
//做点什么
返回重定向(“/home.aspx”);
}
试试看
或
试一试
或
尝试在表单标签上使用@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"*/);
}
[HttpPost]
公共重定向结果VAIALLHOME(bool?nacondi=false,IEnumerable elencoPost=null)
{
//做点什么
返回视图(Url.Content(“~/”);
//返回RedirectToAction(“操作”,“控制器”,新的{routeParameter=value}/*例如“id=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"*/);
}
[HttpPost]
公共重定向结果VAIALLHOME(bool?nacondi=false,IEnumerable elencoPost=null)
{
//做点什么
返回视图(Url.Content(“~/”);
//返回RedirectToAction(“操作”,“控制器”,新的{routeParameter=value}/*例如“id=1”*/);
}
这些链接应该可以帮助您:对于Post:和重定向到aspx:请尝试返回重定向(“/SomePage”);
我必须使用“~/”作为网站的根目录,我处于反向代理和相对链接下无法工作如果您尝试返回重定向(~/”),会发生什么情况
?同样的事情,视图只是被刷新这些链接应该可以帮助你:对于Post:和重定向到aspx:尝试返回重定向(“/SomePage”);
我必须使用“~/”作为网站的根目录,我在反向代理下,相对链接无法工作如果你尝试返回重定向(~/”),会发生什么
?同样的,视图只是刷新。P说他正在尝试重定向到ASP.NET Web表单。aspx pageOP说他正在尝试重定向到ASP.NET Web表单。aspx PAGEF找到原因:在默认情况下。aspx自动重定向到消息页面:(.将此标记为已接受,因为它更相关。找到原因:在default.aspx中,我自动重定向到消息页:(.将此标记为已接受,因为它更相关。)