ASP.NET MVC快速开发框架清新简洁界面设计,有兴趣可以模仿参考
软件的用户体验很重要,要抓住用户的心,这篇博文分享一下最近一个项目的UI设计。
我做UI设计是从用户的角度出发的,要去揣摩用户的习惯。
大部分用户都是使用windows操作系统,所以我这套软件的风格也是做成windows式的。
地址:http://121.40.148.178:8080/ 、 用户名:guest,密码:123456
首先看一下首页导航菜单


这个导航菜单其实也是由div拼了来的,另外用css样式调一下就好了,下面给大家看一下加载菜单的代码
function initStartMenu() {
$('#overlay_startmenu').click(function () {
if ($('#start_menu_panel:visible').length) {
$('#overlay_startmenu').hide();
$('#start_menu_panel').slideUp();
$('.nicescroll-rails').hide();
}
});
$('#start_menu').click(function () {
if ($('#start_menu_panel:visible').length) {
$('#overlay_startmenu').hide();
$('#start_menu_panel').slideUp();
$('.nicescroll-rails').hide();
}
//遮罩层位置和显示
$('#overlay_startmenu').show();
//菜单面板位置
var top = $('#start_menu').offset().top - $('#start_menu_panel').outerHeight() - ;
$('#start_menu_panel').css({ top: top });
$('#start_menu_panel').show();
$('.nicescroll-rails').show();
});
}
//导航一级菜单
var StartmenuJson = "";
function GetStartmenu() {
var index = ;
var html = "";
getAjax("/Home/LoadStartMenu", "", function (data) {
StartmenuJson = eval("(" + data + ")");
$.each(StartmenuJson, function (i) {
if (StartmenuJson[i].ParentId == '9f8ce93a-fc2d-4914-a59c-a6b49494108f') {
html += "<li>";
if (index == ) {
html += "<div class='main_menu leftselected' onclick=\"GetSubmenu('" + StartmenuJson[i].ModuleId + "')\">";
GetSubmenu(StartmenuJson[i].ModuleId);
} else {
html += "<div onclick=\"GetSubmenu('" + StartmenuJson[i].ModuleId + "')\">";
}
html += "<img src='../Content/Images/Icon32/" + StartmenuJson[i].Icon + "' width='32' height='32'>" + StartmenuJson[i].FullName + "";
html += "</div>";
html += "</li>";
index++;
}
});
})
$("#htmlMenu").append(html);
var menuheight = $('.main_menu div').height() * $('.main_menu li').length + $('.main_menu li').length + ;
if (menuheight <= ) {
menuheight =
}
$(".panel-menu").height(menuheight);
$("#main_menu").height(menuheight);
$("#Submenu").height(menuheight);
divniceScroll("#Submenu");
readyIndex();
}
//导航子菜单
function GetSubmenu(ModuleId) {
$("#Submenu").html("");
var html = "";
$.each(StartmenuJson, function (i) {
if (StartmenuJson[i].ParentId == ModuleId) {
var Icon = "";
if (StartmenuJson[i].Icon != "") {
Icon = StartmenuJson[i].Icon;
}
if (IsBelowMenu(StartmenuJson[i].ModuleId) > ) {
html += "<div title='" + StartmenuJson[i].FullName + "' class=\"shortcuticons\" onclick=\"GetSubmenu('" + StartmenuJson[i].ModuleId + "')\"><img src='../Content/Images/Icon32/" + Icon + "'><br />" + StartmenuJson[i].FullName + "</div>";
} else {
html += "<div title='" + StartmenuJson[i].FullName + "' class=\"shortcuticons\" onclick=\"AddTabMenu('" + StartmenuJson[i].ModuleId + "', '" + RootPath() + StartmenuJson[i].Location + "', '" + StartmenuJson[i].FullName + "', '" + StartmenuJson[i].Icon + "','true');\"><img src='../Content/Images/Icon32/" + Icon + "'><br />" + StartmenuJson[i].FullName + "</div>";
}
}
});
$("#Submenu").html(html);
}
//判断是否有子节点
function IsBelowMenu(ModuleId) {
var count = ;
$.each(StartmenuJson, function (i) {
if (StartmenuJson[i].ParentId == ModuleId) {
count++;
return false;
}
});
return count;
}
以上就是页面上去加载菜单的代码,那后台要写些什么东西呢?获得一下菜单信息就好了,我们把菜单的图标、名称、路径都存在数据库里,后台写个方法取出来转成Json让上面这个JS方法去调用就好了。
下面这个是列表页,表格插件用的是jqgrid,看起来还不错加载速度也蛮快的

下面这个是弹出窗,看起来是不是有点像windows窗口了。

这里是以另外一种方式显示人员信息,用图片加数据显示明细。其实这里也是先把数据取出来,然后再组成一个个的div,div好控制,图片文字都可以放。

以下这个也是同样的道理,点击后更新了一下div的图标,我们就看到了下面的小勾勾

是的,学会了使用div排版真的是很方便,这个容器什么都可以放,左边弄了个tree出来


看看一面的下拉框,其实也是动态加载出来的,使用div+css+ajax界面真的可以做得很灵活,用户体验也非常好。

ASP.NET MVC快速开发框架清新简洁界面设计,有兴趣可以模仿参考的更多相关文章
- ASP.NET MVC快速开发框架FastExecutor开发全过程感受及总结
困境 追溯到2018年5月份,是个炎热的夏天,毕业后1年7个月我提出了离职,原因是受不了原来公司过度的封装框架感觉一年多毫无进步与实施天天轰炸般的电话,偶然间出去面试了一次发现自己知识真的是比较局限, ...
- ASP.NET MVC 快速开发框架之 SqlSugar+SyntacticSugar+JQWidgetsSugar+jqwidgets(转)
jqwidgets.js: 是一个功能完整的框架,它具有专业的可触摸的jQuery插件.主题.输入验证.拖放插件.数据适配器,内置WAI-ARIA(无障碍网页应用)可访问性.国际化和MVVM模式支持. ...
- ASP.NET MVC 快速开发框架之 SqlSugar+SyntacticSugar+JQWidgetsSugar+jqwidgets
jqwidgets.js: 是一个功能完整的框架,它具有专业的可触摸的jQuery插件.主题.输入验证.拖放插件.数据适配器,内置WAI-ARIA(无障碍网页应用)可访问性.国际化和MVVM模式支持. ...
- MVC 快速开发框架
ASP.NET MVC 快速开发框架之 SqlSugar+SyntacticSugar+JQWidgetsSugar+jqwidgets jqwidgets.js: 是一个功能完整的框架,它具有专业的 ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
随机推荐
- Spring securiuty 过滤器
1. HttpSessionContextIntegrationFilter 位于过滤器顶端,第一个起作用的过滤器. 用途一,在执行其他过滤器之前,率先判断用户的session中是否已经存在一个Sec ...
- git分支开发,分支(feature)同步主干(master)代码,以及最终分支合并到主干的操作流程
由于rebase执行速度慢,分支同步主干代码时,分支的每次提交都可能和主干产生冲突,需要解决的次数太多,影响提交效率. 同时,为了保证主干提交线干净(可以安全回溯),所以采用下面所说的merge法. ...
- DotNet 学习笔记 应用状态管理
Application State Options --------------------------------------------------------------------- *Htt ...
- bzoj 1011 近似估计
开始看这道题的时候没什么思路,后来忍不住看了题解,发现自己真是水啊... 自从学OI来第一次看到用约等的题 首先我们设w[i]为第i个星球的答案,g[i]为第i个星球受到1-g[i]个星球的引力 那么 ...
- 获取高德地图api
先到高德开放平台首页按照关键字搜索地址,获取经纬度坐标: http://lbs.amap.com/console/show/picker 高德由坐标获取地址详细信息: http://restapi.a ...
- C++高精度
整理了一下高精度,虽然可用java,但很多时候还是C++写的方便. 附上kuangbin神的高精度模板(HDU1134 求卡特兰数) #include <iostream> #includ ...
- 使用Redirector插件解决googleapis公共库加载的问题
最近访问一些面向国外的网站总是会出现ajax.googleaips.com无法加载的情况.以下为加载stackoverflow时的情境: 图1 -无法加载的google公共库 问题的原因是谷歌没有在国 ...
- python基础===正则表达式(转)
正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...
- IC卡的传输协议(3)【转】
转自:http://bbs.ednchina.com/BLOG_ARTICLE_172027.HTM 3.终端传输层 本节描述了在终端和 IC 卡之间传输的命令和响应 APDU 的机制 ...
- PHP定时执行
参考一 test.bat D:\myamp\php\php.exe -q D:\myamp\Apache\htdocs\dingshi.php dingshi.php <?php ignore_ ...