我启动了一个几乎没有视图的asp.net mvc项目,这个项目有一个所有视图的布局,在布局中存在应用程序菜单,每个菜单都是锚标记,并带有适当的操作URL。
//spAnchorLoad class is nothing except for custom anchor selector
<a tabindex="-1" href="/Home/UsersManageView" class="spAnchorLoad">
因此,当用户点击菜单然后重新加载页面并进入相对视图时。
我决定在没有为视图请求(Albeit i don't want use angularjs or other sp framework)
重新加载页面的情况下有一个页面,所以我设计了一个主页面,如布局和禁用所有视图的布局。在这个主页面中,我处理锚点击事件,然后我得到href并在内容中加载视图:
<div id="MainContainer" class="row">
</div>
...
$('a.spAnchorLoad').on('click', function (e) {
e.preventDefault();
var href = this.href;
$('#MainContainer').fadeOut(function () {
$('#MainContainer').load(href, function () {
$('#MainContainer').fadeIn();
});
});
});
这个解决方案很好,工作得很好。在稍后我会在项目进度中添加一些观点,但我不知道这个解决方案在所有场景中都有效,因为可能存在一个我不会想到的场景,我会见面它以后我无论如何都无法处理它。所以在你的经验中,这种方式是否可以,我继续或可能存在缺点?
提前致谢