区域及分离、Js压缩、css、jquery扩展
后台管理区域及分离、Js压缩、css、jquery扩展
本系列目录:ASP.NET MVC4入门到精通系列目录汇总
有好一段时间没更新博文了,最近在忙两件事:1、看书,学习中...2、为公司年会节目做准备,由于许久没有练习双截棍了,难免生疏,所以现在临时抱佛脚。深圳最近的天气反常,许多人感冒了,我也成为其中之一,大家注意身体...
这一篇,我来简单的讲一下接下来项目中会用到的一些杂七杂八的技术。
区域及分离
在15、ASP.NET MVC入门到精通——MVC-路由中,我已经简要说明了区域的分离。
1、右键单击Web项目,“添加”——“区域”,区域名,我们这里命名为Admin,创建完成之后Web项目中,就会多出一个Areas文件夹,Areas文件夹下面会有一个我们刚才创建的Admin文件夹,在Admin文件夹里面有完整的MVC项目的目录,这里,我们不想把控制器放在Web项目中,所以删除Controllers和Models文件夹。
2、新建类库项目Web.Logic.Admin,这个类库项目我们来作为后台系统的区域,把Admin文件夹中的AdminAreaRegistration.cs拷贝出来,然后把这个文件防到Web.Logic.Admin项目中,修改该文件的命名空间。
3、给Web.Logic.Admin项目添加如下引用

4、web项目添加Web.Logic.Admin项目的引用
5、Web.Logic.Admin项目中新建MemberController类

public class MemberController : Controller
{
[HttpGet]
public ActionResult Index()
{
return View();
}
}

6、web项目中,在Areas/Admin/Views/Member目录下,添加视图Index.cshtml
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
测试
7、在浏览器输入地址http://localhost:10757/Admin/Member/,运行结果如下:

js压缩和合并
Web项目中,BundleConfig.cs文件RegisterBundles方法中,添加如下代码:
bundles.Add(new ScriptBundle("~/mvcAjax").Include("~/Scripts/jquery-1.8.2.min.js", "~/Scripts/jquery.unobtrusive-ajax.min.js",
"~/Scripts/jquery.validate.min.js", "~/Scripts/jquery.validate.unobtrusive.min.js", "~/Scripts/jquery.msgProcess.js"));
BundleTable.EnableOptimizations = true;
这里面的jquery.msgProcess.js是我自定义的。
View调用代码:
@Scripts.Render("~/mvcAjax")
关于压缩和合并我在21、ASP.NET MVC入门到精通——ASP.NET MVC4优化这一篇中有更详细的说明,这里只是简单提及,不再赘述。
Css
我发现许多.NET Web开发人员前端这块非常薄弱,虽然说许多公司有专门的前端工程师和美工,但是掌握必要的前端知识还是大有裨益的。
学习CSS,我推荐一本电子书《CSS禅意花园》,咱们不要求对Css了解很深,能做到看懂大部分CSS代码,拷贝一些现成的Css样式时,自己会修改其风格就可以了。
这里我简单说一下我们开发中用得非常频繁的Css样式。
我们经常会遇到这样的需求,根据条件,动态控制界面中某一元素的隐藏和显示,我们通常会考虑如下两种方式实现:
设置元素隐藏
- display:none;
- visibility:hidden;
display:不会影响Css布局,display实际上是设置元素的浮动特征。
visibility:会影响Css布局,从性能上来说,会造成一定的影响,因为它会导致Html界面重排。设置为hidden时,元素虽然被隐藏了,但它仍然占据它原来所在的位置,visibility属性是隐藏元素但保持元素的浮动位置。
Jquery
Jquery,也是我们Web项目开发中经常会使用到的,推荐一本电子书《锋利的Jquery》。
为了统一Ajax数据方法,我先在Model项目中添加一个统一的 Ajax格式类AjaxMsgModel

/// <summary>
/// 统一的 Ajax格式类
/// </summary>
public class AjaxMsgModel
{
public string Msg { get; set; }
/// <summary>
/// OK,ERROR
/// </summary>
public string Statu { get; set; }
public string BackUrl { get; set; }
/// <summary>
/// 数据对象
/// </summary>
public object Data { get; set; }
}

然后在Web项目的Scripts目录中新建了一个js文件jquery.msgProcess.js,然后在其中添加了一个jquery扩展方法,至于Jquery的扩展方法使用,如果不清楚,请直接查资料。我一向是喜欢拿来注意,先Copy过来,然后琢磨懂,最后自己修改下,典型的懒人做法。

(function ($) {
$.extend($, {
procAjaxData: function (data,funcSuc,funcErr) {
if (!data.Statu) {
return;
}
switch (data.Statu)
{
case "OK":
alert("OK:" + data.Msg);
if (funcSuc) funcSuc(data);
break;
case "ERROR":
alert("ERROR:" + data.Msg);
if (funcErr) funcErr(data);
break;
}
}
});
}(jQuery));

View中调用
<script type="text/javascript">
function Success(jsonData) {
$.procAjaxData(jsonData, function () { window.location = jsonData.BackUrl; });
}
</script>
Jquery EasyUI
关于EasyUI,咱们站在一个使用者的角度来说,实在是更它的名字一样easy。关于它的使用可以去 http://www.jeasyui.net/学习。
选择一个版本,把源码和文档下载下来,最新的版本,文档一般为英文。下载下来后,里面有许多html的Demo。有现成的就直接拷贝过来,网上关于easyUI的示例代码数不胜数,还是那句话,拷贝过来,看得懂,会修改,就OK了,不建议在没学习一种新的框架前,把框架的文档从头学到尾,现实工作中,也很少有公司会有那么多闲时间给到我们,所以我们一般是先用起来,有需要,再深入。
区域及分离、Js压缩、css、jquery扩展的更多相关文章
- Gulpfile.js——编译、压缩、合并js和css文件
gulp 一个入门教程:http://www.ydcss.com/gulp API文档地址:http://www.gulpjs.com.cn/docs/api/ 我的一个Low版的gulpfile v ...
- grunt 单独压缩多个js和css文件【转】
原文地址:http://xiaomiya.iteye.com/blog/2177877 使用grunt来压缩前端js,css文件 因为最近做的客户端本地项目有用到十几个js,js提交之前都需要压缩.用 ...
- 引用:使用grunt 压缩 合并js、css文件
引用:https://www.jianshu.com/p/08c7babdec65 压缩 js 文件 1.创建一个目录 名为grunt 目录.png 2.在grunt目录下创建一个 src目录,存 ...
- 一款js、css压缩工具yuicompressor
//压缩JS java -jar yuicompressor-.jar --type js --charset utf- -v src.js > packed.js //压缩CSS java - ...
- 使用 gulp 压缩 CSS
请务必理解如下章节后阅读此章节: 安装 Node 和 gulp 使用 gulp 压缩 JS 压缩 css 代码可降低 css 文件大小,提高页面打开速度. 我们接着将规律转换为 gulp 代码 规律 ...
- 26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 有好一段时间没更新博文了,最近在忙两件事:1.看书,学习中...2.为公司年会节目做准备,由于许久没有练习双截棍了,难免生疏,所以现在临时抱 ...
- java Web程序使用wro4j合并、压缩js、css等静态资源
在Web项目中,js.css合并压缩,不仅有利于减少Http请求数量.减少宽带资源占用,还能有效的管理各种js.css的引入,使整个项目更加有序.而对于访问用户来说,其更大的好处是增加了页面的打开速度 ...
- ASP.NET MVC使用Bundle来打包压缩js和css
Bundle它是用来将js和css进行压缩(多个文件可以打包成一个文件),并且可以区分调试和非调试,在调试时不进行压缩,以原始方式显示出来,以方便查找问题. 1.BundleConfig配置Bundl ...
- 【MVC】 js,css 压缩
[MVC] js,css 压缩 一. 引用 System.Web.Optimization.dll : 使用 Nuget ,在控制台输入 Install-Package Microsoft.AspNe ...
随机推荐
- Java程序员须知的七个日志管理工具(转)
Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm 英文原文:T ...
- 移植ffmpeg到VC环境心得
所有想学习ffmpeg的网友有福了,大名鼎鼎的ffmpeg,移植到Windows的VC6版本全部开源,编译环境为VC6+SP5+VCPP5.别忘记了顶贴哦. 移植ffmpeg到windows,主要的修 ...
- Android获得Manifest在<meta-data>元件的值
前段时间攻略完成游戏开发项目.其中用于包装散装. 目前市场上的网络不提交.但是,通过设置Manifest中的Meta_data>去获得相关參数,游戏ID号改变.游戏ID改变,然后游戏内容就改变. ...
- 设计模式之——Factory(工厂模式)
工厂模式用于,通过统一的创建对象接口来创建对象,而子类可以决定对象的创建方式. class CObject { }; class CCar : public CObject { }; class CF ...
- 使用KnockoutJs+Bootstrap实现分页
[后端人员耍前端系列]KnockoutJs篇:使用KnockoutJs+Bootstrap实现分页 一.引言 由于最近公司的系统需要改版,改版的新系统我打算使用KnockoutJs来制作Web前端 ...
- 【C语言】写一个函数,实现字符串内单词逆序
//写一个函数,实现字符串内单词逆序 //比如student a am i.逆序后i am a student. #include <stdio.h> #include <strin ...
- VSTO之旅系列(二):创建Excel解决方案
原文:VSTO之旅系列(二):创建Excel解决方案 本专题概要 引言 创建VSTO项目 Excel对象模型 创建Excel外接程序 创建Excel文档级自定义项 小结 一.引言 也许很多朋友都没有听 ...
- Codeforces Round #FF 446 C. DZY Loves Fibonacci Numbers
參考:http://www.cnblogs.com/chanme/p/3843859.html 然后我看到在别人的AC的方法里还有这么一种神方法,他预先设定了一个阈值K,当当前的更新操作数j<K ...
- 网络安全之IP伪造
眼下非常多站点的涉及存在一些安全漏洞,黑客easy使用ip伪造.session劫持.xss攻击.session注入等手段危害站点安全.在纪录片<互联网之子>(建议搞IT的都要看下)中.亚伦 ...
- arcgis jsapi 调用google地区服务
做地理信息系统(GIS)项目,除了实现功能用户体验度要好之外,最重要的是地图渲染效果更要好.很多时候苦于数据的完整性和对于配图的审美观,程序猿们都很难配出好看的地图效果.基于上述一般直接调用googl ...