我使用vs2017社区创建了一个ASP.NET MVC5项目,并通过实体自动生成控制器和视图,但视图不会添加到菜单栏/上下文菜单中。我检查了项目文件中的GUID,它们与here匹配时似乎是正确的。我项目的默认GUID:
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
以下是我收到的菜单栏
共享布局中的默认body
代码:
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
@Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
</ul>
<p class="nav navbar-text navbar-right">Hello, @User.Identity.Name!</p>
</div>
</div>
</div>
<div class="container body-content">
@RenderBody()
<hr />
<footer>
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
</footer>
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
</body>
如何将视图默认添加到菜单中?
答案 0 :(得分:2)
您需要更改此部分代码:
<ul class="nav navbar-nav">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
</ul>
添加您希望看到的其他菜单条目。
如果您想让它更加自动化,请查看https://www.codeproject.com/Articles/1130643/Auto-Generate-Menu-from-Controllers-in-ASP-NET-MVC或Getting All Controllers and Actions names in C#。
答案 1 :(得分:0)
在<ul class="nav navbar-nav">
下,您应该为视图添加其他链接。如下所示:
<li>@Html.ActionLink("Link Text", "Action Name", "Controller Name")</li>