【发布时间】:2020-12-28 14:00:42
【问题描述】:
如何使用 asp.net MVC 链接到另一个页面?我想通过我的主页(索引页)链接到一个名为概述的页面。我用我的 HomeController 做了一个视图功能。当我单击“转到查看”时,我的概览页面会显示出来。但我的超链接仍然无法在我的索引页面上使用。有人有想法吗? 谢谢!
这是我的控制器
public IActionResult Overview()
{
return View();
}
这是我的超链接
<a href="@Url.Action("Overview", "Home")" class="list-group-item list-group-item-action bg-light">Overview</a>
这是我要显示的概览页面
@{
ViewData["Title"] = "Overview";
}
@{
ViewBag.Title = "Overview";
Layout = "~/Views/Home/Overview";
}
<h1>Overview</h1>
@RenderBody()
我的布局页面代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>BugTracker</title>
<!-- Bootstrap core CSS -->
<link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/simple-sidebar.css" rel="stylesheet">
<!--FontAwsome Link-->
<link href="~/lib/font-awesome/css/all.css" rel="stylesheet" />
</head>
<body>
@RenderBody()
<div class="d-flex" id="wrapper">
<!-- Sidebar -->
<div class="bg-light border-right" id="sidebar-wrapper">
<div class="sidebar-heading"><h2>Hello<i class="fas fa-bug"></h2></i></div>
<div class="list-group list-group-flush">
<a href="#" class="list-group-item list-group-item-action bg-light">Dashboard</a>
<a href="@Url.Action("Overview", "Home")" class="list-group-item list-group-item-action bg-light">Overview</a>
<a href="#" class="list-group-item list-group-item-action bg-light">Profile</a>
<a href="#" class="list-group-item list-group-item-action bg-light">Projects</a>
<a href="#" class="list-group-item list-group-item-action bg-light">Tickets</a>
<a href="#" class="list-group-item list-group-item-action bg-light">Status</a>
</div>
</div>
<!-- /#sidebar-wrapper -->
<!-- Page Content -->
<div id="page-content-wrapper">
<nav class="navbar navbar-expand-lg navbar-light bg-light border-bottom">
<button class="btn btn-primary" id="menu-toggle"><i class="fas fa-align-justify"></i></button>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto mt-2 mt-lg-0">
<li class="nav-item active">
<a class="nav-link" href="#"><i class="fas fa-home"></i> <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#"><i class="fas fa-user"></i></a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-chevron-circle-down"></i>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Projects</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Tickets</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Overview</a>
</div>
</li>
</ul>
</div>
</nav>
<div class="container-fluid">
<h1 class="mt-4">Welcome User <i class="fas fa-bug"></i></h1>
<p>The starting state of the menu will appear collapsed on smaller screens, and will appear non-collapsed on larger screens. When toggled using the button below, the menu will change.</p>
<p>Make sure to keep all page content within the <code>#page-content-wrapper</code>. The top navbar is optional, and just for demonstration. Just create an element with the <code>#menu-toggle</code> ID which will toggle the menu when clicked.</p>
</div>
</div>
<!-- /#page-content-wrapper -->
</div>
<!-- /#wrapper -->
<!-- Bootstrap core JavaScript -->
<script src="./vendor/jquery/jquery.min.js"></script>
<script src="./vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Menu Toggle Script -->
<script>
$("#menu-toggle").click(function (e) {
e.preventDefault();
$("#wrapper").toggleClass("toggled");
});
</script>
</body>
</html>
【问题讨论】:
-
点击链接后按F12,点击“Console”看看有没有报错
-
嗨@Daniel Eriksson,按照sassygirl所说的更改代码后,您解决了问题吗?如果没有尝试使用F12开发者工具检查是否有错误。此外,你也可以在 OverView 动作方法中设置一个断点,然后调试你的代码检查这个动作方法是否被执行。
-
嗨! @ZhiLv 我按照 sassygirl 提到的那样做了。当我在 HOME/Overview 检查我的 URL 时。所以我想超链接没有什么问题了。但我得到的视图只是我的索引站点的“崩溃”版本。当我按 f12 进入开发人员工具时,我收到 7 条关于我无法加载 bootstrap json 等的错误消息。我正在为我的索引站点使用模板。我错过了什么?
-
使用F12开发者工具check the request status in the Network panel时,Home/Overview请求状态是否为200?对于引导 CSS 或 JQuery 参考,问题可能与路径或路由有关,您是否更改过它们?可以分享布局页面或路由配置中的相关代码吗?此外,关于您的应用程序,我想与您确认它是否是 asp.net 核心 MVC 应用程序?您使用的是哪个版本?
-
我按照你提到的网络面板做了,我有我的脚本和样式表 redmaket,它设置为 404 而不是 200。我没有更改它们,是的,我使用 MVC asp.net core 3.1 .我将在开始部分发布我的布局代码:) @Zhi Lv
标签: asp.net-core model-view-controller asp.net-core-mvc