默认路径,localhost:{port},只返回一个空白页面(简单)

时间:2012-06-11 14:29:34

标签: c# asp.net-mvc asp.net-mvc-routing

这应该是一个非常非常简单的假设。我正在ASP.net中组建一个快速的POC项目 - 我以前做过很多次。但是这一次,无论出于何种原因,默认登陆页面(url = localhost:portnumber根本不显示任何内容。但是,请求localhost:portnumber / home / index工作正常。所以这听起来像路由注册问题,但是我没有弄乱任何代码。这个问题实际上并不重要,因为它只是一个POC,我只是手动重定向,但我只是想为了好奇而回答这个问题。

以下是一些相关代码:

来自 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 }
        );
    }
home的

Index.cshtml 就在这里,现在仍然有默认值:

@{
ViewBag.Title = "Home Page";
}

<h2>@ViewBag.Message</h2>
<p>
To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
</p>

和家庭控制器的索引操作(也默认保留)

public ActionResult Index()
    {
        ViewBag.Message = "Welcome to ASP.NET MVC!";

        return View();
    }

编辑:这是 _Layout.cshtml

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript">    </script>
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")"     type="text/javascript"></script>
</head>
<body>
    <div class="page">
        <header>
             <div id="title">
                <h1>My MVC Application</h1>
            </div>
            <div id="logindisplay">
                @Html.Partial("_LogOnPartial")
            </div>
            <nav>
                <ul id="menu">
                     <li>@Html.ActionLink("Home", "Index", "Home")</li>
                     <li>@Html.ActionLink("About", "About", "Home")</li>
                </ul>
            </nav>
        </header>
        <section id="main">
            @RenderBody()
        </section>
        <footer>
        </footer>
    </div>
</body>
</html>

奇怪的是,几乎所有东西都完全是默认的。所以看起来我可以期待默认行为,对吧?我确定我只是错过了一些愚蠢的东西,但这让我很沮丧。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

检查项目的网页设置。 Alt +在项目文件上输入。将其设置为特定页面“主页”,看看是否修复了它。你可能在当前页面上。