【问题标题】:Context menu for ASP.NET MVC 5 missing for automatically generated views and controllers自动生成的视图和控制器缺少 ASP.NET MVC 5 的上下文菜单
【发布时间】:2017-06-03 15:16:04
【问题描述】:

我已经使用 vs2017 Community 创建了一个 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>&copy; @DateTime.Now.Year - My ASP.NET Application</p>
        </footer>
    </div>

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")
    @RenderSection("scripts", required: false)
</body>

如何让视图默认添加到菜单中?

【问题讨论】:

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


    【解决方案1】:

    你需要修改这部分代码:

                <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-MVCGetting All Controllers and Actions names in C#

    【讨论】:

    • 谢谢。我以为这已经是这类项目的默认功能了。
    • 唉,不。你必须构建它。
    【解决方案2】:

    &lt;ul class="nav navbar-nav"&gt; 下,您应该将附加链接添加到您的视图中。如下:

    <li>@Html.ActionLink("Link Text", "Action Name", "Controller Name")</li>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 2016-01-31
      • 1970-01-01
      • 2016-10-07
      • 1970-01-01
      • 2012-05-19
      相关资源
      最近更新 更多