C# 在控制器MVC上定义路由属性时,如何重定向新URL?

C# 在控制器MVC上定义路由属性时,如何重定向新URL?,c#,asp.net-mvc,model-view-controller,C#,Asp.net Mvc,Model View Controller,我有一个控制器定义为 [路由(somecontroller1/someaction1{someid}] 当我尝试将它重定向到另一个视图时 重定向(“somecontroller2/someaction2{someid}”) 我的网址是 somecontroller1/someaction1{someid}/somecontroller2/someaction2{someid} 所以我的问题是,我怎样才能重定向到 somecontroller2/someaction2{someid} 你可以看到下

我有一个控制器定义为

[路由(somecontroller1/someaction1{someid}]

当我尝试将它重定向到另一个视图时

重定向(“somecontroller2/someaction2{someid}”)

我的网址是

somecontroller1/someaction1{someid}/somecontroller2/someaction2{someid}

所以我的问题是,我怎样才能重定向到
somecontroller2/someaction2{someid}

你可以看到下面的代码

[HttpPost]
[Route("someController1/someaction1/{someid}")]
public ActionResult CreateComment(Comment  comment, int someid)
{

*//do something*

 return Redirect("someController2/someAction2/" + someid);

}

问题是,您忘记了重定向中的前导“/”。 如果重定向开始时没有“/”,asp.net将尝试重定向到调用控制器内的给定URL

添加前导“/”并且重定向是绝对的:

return Redirect("/someController2/someAction2/" + someid);
或者,您可以直接重定向到控制器:

return RedirectToAction("SomeAction2", "SomeController2", new{id = someid});
了解ASP.NET尝试路由请求时发生的情况非常重要。有几种方法可以更改/定义路由。以下是一些您可以检查的链接:


使用重定向到操作方法

return RedirectToAction("SomeAction2", "SomeController2", new{id = someid});

这会将页面重定向到所需操作的视图。

Hi Partluka。欢迎使用SO。请在问题中提供您的代码,否则几乎无法理解发生了什么。THXtry
return RedirectToAction(“someAction2”,“someController2”)