Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC,如何将数据发布到控制器并重定向到aspx页面_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

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

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

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

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

有办法吗

这是我的看法

@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中,我自动重定向到消息页:(.将此标记为已接受,因为它更相关。)