【问题标题】:MVC 6: Menus and DNX dnx-clr-win-x86.1.0.0-beta5 [closed]MVC 6:菜单和 DNX dnx-clr-win-x86.1.0.0-beta5 [关闭]
【发布时间】:2015-08-20 15:10:10
【问题描述】:

我正在关注有关 MVC 的各种教程。 MVC 6 和 Windows 7 似乎没有任何内容,因此我尽可能地关注并调整它们,以用于我想在 Visual Studio 2015 中构建的应用程序。

默认项目在顶部创建了一个不错的菜单,我想对其进行自定义以供我使用。

我现在看的是这种格式:

“页面名称”| 《家》 | 《关于》 | “联系方式”

第一个问题:

  • “页面名称”和“主页”都将人们指向同一个位置,因此它们是多余的。我已经有了“页面名称”,如何删除“主页”?

问题 1 答案:

_Layout.cshtml 文件中,我所要做的就是删除“主页”的多余链接。

<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>
    @Html.Partial("_LoginPartial")
</div>

其他版本的 MVC 好像没有这个多余的项。

第二个问题:

  • 在上面的截图中,我在“About”页面上,URL 被路由为“Home\About”。如何将其更改为“关于”?

在上述两个问题上,我的解决方案几乎是即用型。我确实放入了我的 CSS 文件,并且能够找到一些易于修改的文本字段。

问题 2 答案:

看起来 VS2015 将 {controller}/{action}/ 代码从 HomeController 文件移到了名为 App_Start/RouteConfig.cs 的文件中。我能用你提供的文字找到它。

最后一个问题:

这个比较复杂。这也是我目前最大的表演终结者。

现有网站是使用 ASP.NET WebForms 解决方案创建的。数据从数据库(即 Excel 电子表格)中提取并用于创建以传统 DataBinding 方法显示的列表。

我的理解是,MVC 不应该有提取数据的类或类库,而应该包含执行此操作的单独项目。

我在解决方案中添加了一个库项目,但现在它无法编译,因为我遇到了这个 DNX 问题:

所选的 DNX 版本“dnx-clr-win-x86.1.0.0-beta5”未安装或当前项目配置不可用。

问题 3 答案:

我发现一个类似的人在这里报告了问题:

How to fix DNX/DNVM in Visual Studio 2015?

解决方案是将 PowerShell 更新到 4.0 版。

适用于 Windows 7 的 PowerShell 4.0 包含在此文件中:Windows6.1-KB2819745-x64-MultiPkg.msu

显然,工作的防火墙阻止了该端口。

【问题讨论】:

  • 除非必要,否则请不要将多个问题合并为一个问题。最好单独提出问题。
  • 读一本关于 MVC 的书或者只是在 ww.asp.net 上学习一些教程怎么样?
  • @Mithrandir - 你读过我的问题吗?我在顶部声明没有关于 MVC 6 for Windows 7 的教程(我已经找到)。我正在遵循较早的教程,但过程已经发展了很多。
  • 密钥在文本“beta5”中。 MVC 6 还没有准备好,而且每天都在发生很大的变化。您最好尝试在最新的工作 MVC 中创建您的站点。在这样做时,您将回答您自己的大部分问题。 MS MVC 的基础在新版本中没有太大变化。它更多地与基础设施的进步有关(一般而言)。
  • @WilliamHumphreys。这直接来自 Microsoft Visual Studio 2015。我根本没有安装它。在我看来,微软应该因为在他们的产品中使用测试版而受到责骂。

标签: c# asp.net asp.net-mvc asp.net-core-mvc powershell-4.0


【解决方案1】:

第一个问题:

只需在导航栏中(在您的共享视图中)删除带有文本 Home 的链接 (ActionLink)

第二个问题

了解路由。在您的路由配置中,它应该将路由设置为类似{controller}/{action}/About 页面是您的 HomeController 类上的一个操作(方法),因此是 URL。

您可以创建一个AboutController 以获得最简单的解决方案。

第三个问题

My understanding is that MVC should not have classes that pull data or class libraries, but rather include separate projects that do this.您显然是在尝试学习 MVC 的工作原理,不要在学习基础知识的同时将其复杂化。

至于你的错误,我不知道。这远远超出了 MVC 的范围,可能值得提出自己的问题。


老实说,您应该阅读一些关于 MVC 基础的教程

【讨论】:

  • 请对此类广泛的问题投赞成票,而不是发布答案。
  • 看起来 VS2015 将 {controller}/{action}/ 代码移动到了一个名为 App_Start/RouteConfig.cs 的文件中。我能用你提供的文字找到它。
  • @jp2code 老实说,我觉得开箱即用的 MVC 带有 ton 的垃圾。我发现通过创建一个空的 Web 应用程序并学习我需要添加的内容来学习更好,这样我就可以看到每个部分做了什么。
  • 在大多数情况下,我关注NerdDinner 的 ASP.NET MVC。我不想尝试在我的旧版本 VS2010 上做 MVC,所以我下载了 VS2015 社区。自编写该教程以来,它已经发展了很多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多