2014-02-13 69 views
1

我有使用MVC框架构建的asp.net网站。该网站使用IIS进行部署。该网站是http://smihit-reports.com/reporting。这是一个内部网站。我怎样才能确保用户是否把在http://smihit-reports.com/reportinghttp://smihit-reports.com它被引导到ASP.Net网站网址分辨率

+0

什么*网页*都是urls假设被重定向到? –

+0

当我输入http://smihit-reports.com/reporting时,网站启动正常。但我希望用户输入http://smihit-reports.com/或http://smihit-reports.com/reporting将其重定向到网站的主页 – StackOverflowVeryHelpful

+0

您是否再次尝试我的示例? (我做了一些改变) – djluis

回答

0

在同一页面默认情况下http://smihit-reports.com/home等于http://smihit-reports.com,其中“家”是控制器的名称。如果你想改变这种行为,在默认情况下使用ReportingController而不是HomeController你应该去RouteConfig.cs类和更改

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

要:

routes.MapRoute(
    name: "Default", 
    url: "{controller}/{action}/{id}", 
    defaults: new { controller = "Reporting", action = "Index", id = UrlParameter.Optional } 
); 
+0

您是配置http://smihit-reports.com/报告为默认页面。 – djluis

+0

是的。并确保http://smihit-reports.com/reporting和http://smihit-reports.com被定向到同一页面。 –

1

你有两个选择,我建议第一个:

您必须使用重定向,下面是一个示例: (请记住在路由顶部添加路由,以避免通用路由匹配。)

  1. 添加一个新的路由(在全球ASAX):

    routes.MapRoute(
        "Reporting Redirect", 
        "reporting", 
        new { controller = "Home", action = "Index" } 
    ); 
    
  2. 控制器重定向:

    公共类ReportingController:控制器 {

    public ActionResult Index() 
        { 
    
         return RedirectToAction("index", "home"); 
        } 
    } 
    

微软MVC路由解释here

+0

立即尝试此操作。这有助于我获得方向 – StackOverflowVeryHelpful

+0

对不起,我已经对我的代码进行了一些更正,请你再试一次。 – djluis

+0

我认为我的代码存在一些问题。目前,即使在进行更改之后,我仍然需要访问IIS 8网页,而不是访问我的主页以获取报告。 +1为您的解决方案。它帮助我用我的代码了解问题 – StackOverflowVeryHelpful