【发布时间】:2015-04-16 04:42:49
【问题描述】:
我在 asp.net mvc 中将 sammy.js 用于单页应用程序。
一切都很好,但我面临一个问题,就是我无法重新加载页面。
例如,当我在仪表板中时,我的 URL 是
http://localhost:1834/#/Home/Index?lblbreadcum=Dashboard
layout.cshtml
<script>
$(function () {
var routing = new Routing('@Url.Content("~/")', '#page', 'welcome');
routing.init();
});
</script>
routing.js
var Routing = function (appRoot, contentSelector, defaultRoute) {
function getUrlFromHash(hash) {
var url = hash.replace('#/', '');
if (url === appRoot)
url = defaultRoute;
return url;
}
return {
init: function () {
Sammy(contentSelector, function () {
this.get(/\#\/(.*)/, function (context) {
var url = getUrlFromHash(context.path);
context.load(url).swap();
});
}).run('#/');
}
};
}
我想通过单击仪表板菜单/链接重新加载页面。但是点击事件没有触发,因为链接没有改变。但是,如果我想转到另一页,那很好。请帮帮我。谢谢。
【问题讨论】:
-
您好,您要完全刷新页面吗?在这种情况下,你不能在说 /# 时这样做,因为它指向一个锚点……我理解正确吗?
-
我想刷新唯一的部分视图而不是整个页面。
标签: javascript jquery asp.net asp.net-mvc sammy.js