在asp .NET中更改URL(重定向)

时间:2016-04-05 15:56:28

标签: c# asp.net-mvc url-redirection http-status-code-301

我正在开发一个C#mvc应用程序。在我的网站中,我有这个网址abc.com/About/WhoWeAre,其中'关于'是控制器,'WhoWeAre'是操作名称。但是我希望这个网址以abc.com/About/who-we-are的形式返回。问题是我无法将包含' - '的操作命名为。我使用Url Redirection尝试了HttpContext Response但无法找到解决方案。

如果我在Route Config中处理“关于/我们是谁”的请求并将其路由到“关于/ WhoWeAre”,则它正在使用地址栏中的所需URL。但是当我提出“关于/ WhoWeAre”的请求时,它会返回地址栏中具有相同(“关于/ WhoWeAre”)网址的页面,该网址会复制网址。我该如何重定向?

随时提出任何问题。

2 个答案:

答案 0 :(得分:2)

使用ActionName属性映射Url。以下是示例

 public class AboutController : Controller
 {

    [ActionName("Who-we-are")]
    public ActionResult WhoWeAre()
    {
        return View();
    }
 }

答案 1 :(得分:0)

您可以使用ActionName属性将操作重命名为C#方法名称中不允许的字符。