在上一篇文章【MVC+Ext.net零基础学习记录(三)】中提到了利用MVC的Area可以做到项目分离,但是实际操作起来还是有很多问题的。比如,对于物理资源的访问,会报:没有相关资源

开始的时候,我在博客园也搜索到了很多解决方案,其中http://www.cnblogs.com/dingji/archive/2012/06/10/2544255.html这篇文章的解决方法是我感觉最有效的解决方法

但是我思考了很久,还是决定不采用MvcContrib进行分离,因为这样的话,一个问题是,DLL文件到后来会很大,因为前台项目里面的图片以及各种框架的引用会很多。另一个原因是感觉为了实现分离,而将静态资源均编译成dll,感觉有点得不偿失

所以到最后,我采用了一种折中的方法,将部分文件比如View里面的内容均通过【生成事件】来拷贝到主项目中,而其他的部分,比如整体框架的JS部分,则更改从项目的引用路径。而例如语言资源文件,则公用一个文件。

具体做法如下:

1 按照上一篇文章【MVC+Ext.net零基础学习记录(三)】,进行基本的项目分离

2 将从项目的JS,css引用路径改成相对项目的绝对路径,

原来的写法:<script type="text/javascript" src="../../Scripts/Framework/jquery.js"></script>

改后的写法:<script type="text/javascript" src="/Scripts/Framework/jquery.js"></script>

这里的改写是因为,对于主项目调用从项目里面的画面时,目录其实是.../从项目Area名称/调用画面文件夹/画面名,这里如果采用相对路径,则会自动变成Area/...,会提示找不到文件

,而改写后,则不管项目中的什么路径下的文件引用改物理资源,都是相对整个项目的根目录而言的

3 修改从项目的生成事件

mkdir "$(SolutionDir)$(SolutionName)\Scripts\PageJS"
   xcopy "$(ProjectDir)Scripts\PageJS" "$(SolutionDir)$(SolutionName)\Scripts\PageJS" /S /E /C /Y

这里的代码,应该大家都知道,就是在上一篇文章的基础上,另外复制从项目的JS文件到主项目的相对一致的路径上

4 汇总公共类库

因为时间关系,所以记录的比较简单,如果有相同需求的童鞋,可以联系我,相互切磋嘛

MVC+Ext.net零基础学习记录(四)的更多相关文章

  1. MVC+Ext.net零基础学习记录(五)

    继MVC+Ext.net零基础学习记录(四),在后面我在既有的项目上又添加了一个子项目,还用前面提到的方法,进行主项目中引用DLL,然后子项目中生成事件中使用mkdir 进行拷贝 发现一个下午就总是报 ...

  2. MVC+Ext.net零基础学习记录(一)

    由于最近开发一个项目,决定使用MVC+EXT.NET,决定将学习的这个过程记录下来 本人和很多菜鸟一样,之前既没有使用过MVC开发,也没有接触过EXT.NET,所以这将是一个大家共同学习的过程,文章中 ...

  3. MVC+Ext.net零基础学习记录(三)

    这里开始说明一下,如何在MVC项目中引用EXT.NET,这里参考:http://www.cnblogs.com/zhanghaomars/p/3470987.html

  4. MVC+Ext.net零基础学习记录(二)

    很多人在开发一个新的项目时,需要先决定项目的整体架构,是决定使用MVC的同时也不例外,具体包含:项目的多语言性,项目的多风格选择,项目的可扩展性 其中项目的多语言性:http://www.cnblog ...

  5. salesforce 零基础学习(四十六)动态美观显示列表中记录的审批状态

    项目中,申请者申请某些事项以后,常常需要在申请列表中查看当前申请的记录所在的审批状态,动态美观的显示状态可以使UI更符合客户要求,比如下面这样. 以Goods__c表为例,申请者申请的一些采购以前需要 ...

  6. salesforce 零基础学习(四十八)自定义列表分页之Pagination基类封装 ※※※

    我们知道,salesforce中系统标准列表页面提供了相应的分页功能,如果要使用其分页功能,可以访问http://www.cnblogs.com/zero-zyq/p/5343287.html查看相关 ...

  7. salesforce 零基础学习(四十一)Group

    salesforce中,有的时候我们需要将一组用户放进一个Group,用来实现以下主要功能: 1.通过sharing rule设置默认的共享访问; 2.将记录分享给其他用户; 3.指定同步的联系人,这 ...

  8. salesforce 零基础学习(四十七) 数据加密简单介绍

    对于一个项目来说,除了稳定性以及健壮性以外,还需要有较好的安全性,此篇博客简单描述salesforce中关于安全性的一点小知识,特别感谢公司中的nate大神和鹏哥让我学到了新得知识. 项目简单背景: ...

  9. salesforce 零基础学习(四十五)Approval Lock & UnLock相关注意事项

    我们都知道,当一条记录进入审批流程以后会自动加锁,apex提供Approval类的lock和unlock方法可以让我们使用代码对记录进行加锁和解锁. 项目中遇到一个需求,需要当某种情况下对记录进行先解 ...

随机推荐

  1. angular js 使用$location问题整理

    angular js 自带的$location方法十分强大,通过使用$location方法.我们能够获取到server的port.杂乱连接中的path()部分(/所包括的部分). 例: // give ...

  2. 国家商用password(五)基于SM2的软件授权码生成及校验

    将公开密钥算法作为软件注冊算法的优点是Cracker非常难通过跟踪验证算法得到注冊机.以下.将介绍使用SM2国密算法进行软件注冊的方法. 生成授权码 选择SM2椭圆曲线參数(P,a,b,N,Gx,Gy ...

  3. MySQL开发36条军规

    转载地址:http://blog.itpub.net/22664653/viewspace-723506/ 写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过 ...

  4. 2016.11.29 activiti实战--第19章--统一身份管理(含自定义用户与数组的实现)

    学习资料:<Activiti实战> 第十九章 统一身份管理 本章讲解如何统一业务系统与activiti的用户管理系统. 第5章的时候已经讲解过activiti的用户与组.一般来说业务系统都 ...

  5. AngularJS的添加操作和列表操作

    代码下载:https://files.cnblogs.com/files/xiandedanteng/agsAddList.rar 添加成员页面图示: 添加成员页面代码: <%@ page la ...

  6. vue组件class绑定

    当在一个自定义组件上使用 class 属性时,这些类将被添加到该组件的根元素上面.这个元素上已经存在的类不会被覆盖. 例如,如果你声明了这个组件: Vue.component('my-componen ...

  7. spring 官方文档

    英文 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ 翻译(1-6章) http:// ...

  8. Oracle 复制表创建的sql语句

    http://cache.baiducontent.com/c?m=9d78d513d99e01fc09b3c3690d67c0161343f0652ba1d4020ed08449e3732b4250 ...

  9. 2014acm亚洲区域赛陕西赛总结

    这次是第一次出来到外面比赛,一切都是非常新鲜的,带着新鲜来到了古城西安.首先感觉就是志愿者一点都不热情.一副爱理不理的,这不是有违我大西北人的热情好客么. 直接说比赛吧. 第一天热身赛,出了两道非常水 ...

  10. cmake学习之-project

    一.系统版本 cmake version: 3.5.2 系统版本: Ubuntun 16.04 cmake docment: 3.14.4 最后更新: 2019-05-31 二.指令说明 projec ...