Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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# 重定向路由不';不要去控制器_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 重定向路由不';不要去控制器

C# 重定向路由不';不要去控制器,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在API控制器中使用重定向路由来重定向到MVC控制器。除此之外,我无法找到一个好的解决方案: return RedirectToRoute("Cv", new { action = "Cv/OpenCv" }); 以前我在下面试过,但没用 return RedirectToRoute("Cv", new { controller="Cv", action = "OpenCv" }); Api和MVC控制器使用不同的路由。Api控制器中的RedirectToRoute返回“System.W

我正在API控制器中使用重定向路由来重定向到MVC控制器。除此之外,我无法找到一个好的解决方案:

return RedirectToRoute("Cv", new { action = "Cv/OpenCv" });
以前我在下面试过,但没用

return RedirectToRoute("Cv", new { controller="Cv", action = "OpenCv" });

Api和MVC控制器使用不同的路由。Api控制器中的RedirectToRoute返回“System.Web.Http.Results.RedirectToRouteResult”,但Mvc控制器中的RedirectToRoute返回“System.Web.Mvc.RedirectToRouteResult”。我认为在这种情况下,您可以使用“重定向”方法


您可以尝试创建一个Mvc UrlHelper实例,并使用一种方法根据路由参数构建Url,然后调用重定向方法。

您可以通过以下代码将API控制器重定向到Mvc控制器。 请查找上述问题的以下代码

public IHttpActionResult Index()
{
    var newUrl = this.Url.Link("Default", new
    {
        Controller = "Account",
        Action = "Register"
    });
    return Redirect(new Uri(newUrl.ToString(), UriKind.RelativeOrAbsolute));
}
或者遵循API控制器的直接调用

public IHttpActionResult Index()
{
   return Redirect(new Uri("/Account/Register", UriKind.RelativeOrAbsolute));
}

请使用上述代码并让我知道

我还有一个名为Cv.:)的路由名称。重定向操作在API控制器中不可用。这是否回答了您的问题?我看到了这个解决方案:)。它比我在第一个街区用的好吗?谢谢你的努力,伙计!Api和MVC控制器使用不同的路由。Api控制器中的RedirectToRoute返回“System.Web.Http.Results.RedirectToRouteResult”,但Mvc控制器中的RedirectToRoute返回“System.Web.Mvc.RedirectToRouteResult”。我认为在这种情况下,您可以使用“重定向”方法。我只是想知道为什么需要这个?您可以尝试创建一个Mvc UrlHelper()实例,并使用RouteUrl方法根据路由参数构建Url,然后调用重定向方法。