1

我有以下问题。我创建了一个布局和两个使用它的视图。每个视图使用不同的控制器。部分布局是带有站点名称的导航。我想要做的是使站点名称链接始终指向主页/索引操作。当我在主控制器视图上单击站点名称时它可以工作,但是当我使用不同的控制器转到其他站点时它会引发错误。

说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

我使用默认路由设置。

请求的网址:/index.html

下面是部分模板代码。

@使用 System.Web.Script.Services

<title>Galeria zdjęć</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Art Mission</title>
<!-- Bootstrap -->
<link href="~/Css/bootstrap.min.css" rel="stylesheet" />
<link href="~/Css/style.css" rel="stylesheet" />
@RenderSection("Style", false)

<!-- Navbar
================================================== -->
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse"
                    data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="@Url.Action("Index", "Home")">ArtMission</a>
        </div>
        <div id="bs-example-navbar-collapse-1" class="collapse navbar-collapse">
            <ul class="nav navbar-nav navbar-right">
                <li><a href="@Url.Action("Show", "Gallery")">Galeria</a></li>
                <li><a href="#oferta">Oferta</a></li>
                <li><a href="#contact">Kontakt</a></li>
            </ul>
        </div>
        <!--/.nav-collapse -->
    </div>
</div>
<!-- /.navbar -->

 @RenderBody()

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script type="text/javascript" src=@Url.Content("~/Scripts/bootstrap.min.js")></script>
@RenderSection("Script", false)

预先感谢您的任何帮助。

编辑:我包括完整的布局。

4

1 回答 1

0
@Url.Action("Index", "Home")

无论您在站点的哪个位置,都将始终指向主页控制器中的索引操作。

您的问题可能是您已在布局中包含某处,@Url("index")因此将其替换为@Url("Index", "Home")

@Url("Index")在您从任何操作中检索视图之前都可以正常工作,Home Controller但是当您转到不同的控制器时,这将中断并且不会指出/Home/Index如果您使用默认路由应该只是/Home

于 2014-08-05T20:58:17.387 回答