我刚刚完成了第一个网站(ASP.NET)的工作。我想要的只是顶部的一些简单的导航菜单和底部的内容。首先我开始使用MasterPages,但我不希望在页面之间浏览时刷新整个页面,而且使用MasterPages似乎无法实现。 所以我切换到iframe - 一切看起来不错,但我不能书签或访问子页面。
我愿意再次重写网页,但我不确定使用哪种技术。我应该试试AJAX asp.net吗?在我在网上发现的教程中,他们总是只更新几个字符串,从不整页包含图像,文本等。我是否必须将所有页面的html代码放入一个包含大量面板的大文件中,或者它是否可以保留分离的aspx文件?或者到目前为止我还忽略了其他一些方法吗? 我想要的只是一个带有菜单的网站,它不会一直重新加载并可以导航到子页面。为了更好地理解,我当前的页面是www.caucasus-trekking.com
谢谢你,Jozef
答案 0 :(得分:0)
如果你真的想保留页眉/页脚,那么你可能想制作一个单页应用程序(SPA),就像AngularJS一样,但它需要重新编写几千行代码,因为你改变"哲学"。 SPA on Wikipedia
目前最简单的解决方案应该是仅刷新身体的AJAX调用,但对于复杂的网站,我没有推荐它。你必须编写一个_YourPage.cshtml,通过使用ajax函数加载你在jquery中调用的控制器,例如:
$.ajax({
url: "@Url.Action("Search", "Home")",
cache: false,
type: "GET",
dataType: "html",
traditional: true,
data: {
page: // Your page id found in the a href thanks to data-*?
},
success: function (result) {
// replace the body
}
});
我们以前使用MasterPage,或单页应用程序
答案 1 :(得分:0)
通过我,最好的方法是切换到Asp.Net MVC,因为标准的Web表单不能提供您需要的灵活性,可能非常棘手。
以下是使用MVC执行此操作的方法:
_Layout.cshtml
标题,导航,...(而不是母版页)。href
值。href
的URL从服务器加载内容的点击处理程序。将此加载的内容放在内容div中。View
,为ajax请求返回PartialView
。