Mvc3 Web应用程序直接在index.cshtml上路由

时间:2012-02-14 10:47:11

标签: asp.net-mvc asp.net-mvc-3 model-view-controller

我创建并托管了nvc3网络应用 现在的问题是当我打开www.abc.com时 它打开index.cshtml,即mvc web app的主页

但是当我打开www.abc.com时我不想让它打开 我有一个名为index.htm的静态页面应该先打开

在mvc3 Global.asax代码中:

  public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

        }

如何呈现给http://www.abc.com/mypage.html? 我该怎么办呢。

1 个答案:

答案 0 :(得分:2)

ashuthinks,

根据您对该问题的修订评论。如果您只想显示没有链接的“Under contruction”类型页面,则可以修改web.config并添加app_offline.htm文件。以下是这些变化的样子:

web.config(裸骨):

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true" />
    </system.webServer>
</configuration>

app_offline.htm:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Your site title</title>
</head>
<body>
  <div>
    <span>Your Company name</span>
    <h1>Sorry, server maintenance in progress </h1> 
    <h2>Please contact <a href="mailto:mycontact@mycompany.com">John Doe</a> on 000 123 456789 for further information</h2>
  </div>
</body>
</html>

当您需要将网站设置为实时时,只需将上述文件重命名为web.config_offlineapp_offline.htm_offline,然后将“正常”的web.config置于播放状态。当然有很多方法可以让这只猫受到影响,但这对我之前参与过的项目非常有效。

请参阅:

http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx

了解更多详情。