将我的网站重定向到mvc中的默认控制器

时间:2015-02-21 09:13:09

标签: asp.net-mvc asp.net-mvc-4

我的Fa区域中有一个名为fa的项目区域我有一个名为home的控制器,在我的控制器中我有一个名为index的动作。< / p>

我发布了我的网站,但是当我输入我的网址时,我看不到我的网站,因为它应该被重定向到mywebsite.com/en/home/index。如何在MVC Project

中设置此网址?

我试过这个,但它没有用。

var route = routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    ).DataTokens = new RouteValueDictionary(new { area = "fa" });

2 个答案:

答案 0 :(得分:2)

你应该使用这段代码:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
                routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new {area="fa", controller = "Home", action = "Index", id = UrlParameter.Optional },namespaces: new string[] { "UI.Areas.fa.Controllers"}
            ).DataTokens.Add("area", "fa");

答案 1 :(得分:1)

您需要为默认路由指定命名空间。由于您有多个HomeControllers,因此需要知道要渲染哪一个。

根据您的评论,您还需要修改默认值。

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { area = "en", controller = "Home", action = "Index", id = UrlParameter.Optional },
    namespaces: new string[] { "UI.Areas.en.Controllers" }
);