我是 ASP 的前(狂热)用户——我喜欢它——但我出于某些原因决定继续为我的网站使用基于 linux 的服务器。我什至还没有开始构建我的网站,而且我已经在努力尝试使用 ASP 做一些非常简单的事情 - 加载一个恒定的导航栏。
基本上我的目标是拥有一个模板页面 - 一个单一的布局 - 将动态加载我在单独页面中创建的内容。例如;
index.html 会将“navi.html”加载到标记为“navigation”的 div 中,将“banner.html”加载到标记为“banner”的 div 中,等等......所以当用户点击一个链接时,它不会刷新整个页面,但更改了“主”div 中的内容。使用 ASP 这非常简单,但是到目前为止,在我的研究中,我提出的最佳方法是使用 jQuery 将 html 加载到 div 中 - 唯一的问题是它对我不起作用,我不知道也不能找出原因。
这是代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ace8i</title>
</head>
<body>
<div id="navigation">
nav div tag is here
</div>
<p onclick="">test</p>
<script type="text/javascript" src="js/jquery.js">
$(document).ready(function(){
$('#navigation').load('navi.html');
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我已经创建了它,基本上就像我在网上找到的其他三个帖子中看到的一样,我已经在头部和身体上尝试过它。我还尝试了包含和不包含 document.ready 函数的加载函数。没有错误,只是没有导航栏。
好的,即时通讯可能做错了...但是在我的主要_Layout中,我有以下内容:
<div id="navigation">
@RenderSection("Navigation")
</div>
Run Code Online (Sandbox Code Playgroud)
在我的Index.cshtml视图中指向此:
@section Navigation{
<-- Need this to point to Views/Shared/Navigation.cshtml -->
}
Run Code Online (Sandbox Code Playgroud)
但是我不想在其中包含所有代码的大文件,因此我需要知道如何指向本节内部的名为“ Navigation.cshtml”的文件-基本上,所以我将所有节分开存放,独立文件。
我尝试只在_Layout中而不是@RenderSection中执行@RenderPage(“ Navigation.cshtml”),这会导致错误。
- 编辑 -
如果我添加它而不是@RenderSection()
<div id="navigation">
= @RenderPage("~Views/Shared/Navigation.cshtml")
</div>
Run Code Online (Sandbox Code Playgroud)
我得到这个:
The file "~/Views/Shared/~Views/Shared/Navigation.cshtml" could not be rendered, because it does not exist or is not a valid page.
Run Code Online (Sandbox Code Playgroud)
- 编辑 -
完整的_Layout.cshtml:
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"> </script>
</head>
<body>
<div id="wrapper">
<div id="content">
<!-- BANNER -->
<div id="banner">
</div>
<!-- …Run Code Online (Sandbox Code Playgroud)