也谈.NET MVC 2 + ExtJS的部署问题
由于业务需要,笔者刚进到一个项目组,由于没有美工,前台采用ExtJs + MVC 2 ,迭代1的项目做的还算比较顺利,至少在本机上是运行没有任何问题的,
但是为了给客户演示,我兴高采烈的将网站部署在IIS 上,结果总是提示'Ext'未定义'。通过Google浏览器,按了F12调试,发现时ExtJs路径引用问题,在
vs里运行正常,怎么发布之后,就出现这种情况? 仔细查看路径,是相对路径,我想这就是问题的症结所在了。
于是大胆Google,手气不错,还是有关于MVC部署的解决方案,但是试过了N多次之后,仍然毫无改观。
由于未能解决,项目进度压身,项目组开始打算换框架,他们希望采用WCF,放弃NVC——因为这样就避免了相对路径,他们有现成的成功案例。
这让我情何以堪啊?辛辛苦苦干了二十多天的心血,转到WCF,代码改的也不少啊,实话实说,.NET NVC 用着真舒服!
一边开始转项目,一边又对MVC不放弃,果然功夫不负有心人,终于有了比较满意的解决方案!
以下是一些具体记录,愿与大家分享,希望对遇到类似问题的后来者有一点帮助,反正我是走了不少弯路,呵呵!
我的项目目录结构如下:

再看 ExtJs的位置

以下是最初对ExtJS 的引用路径,这种引用时相对路径,在VS2010调试没有问题,部署在IIS5.0和IIS6.0均提示'Ext未定义'

这样并不能部署成功,使用Google浏览器后,F12调试发现时extjs、css之类的路径引用问题。
以下是参考了相关资料并且实践成功的解决方案,
<%=Url.Content("") %>
这样我们就可以在引用路径和js中更改url(或src)
于是修改如下

好了,说道这里是不是太罗嗦了,让我们来一步一步部署吧!
第一步。请安装IIS,这个省略,我本机安装的是IIS5.1 版本。
当您安装IIS成功后,在控制面板——管理工具中会出现

第二步。发布网站,
打开你的项目,请确保你的重新生成是成功的。
点击项目,右键——》发布,如下图,

按上面的填好,单击"发布",看vs下面菜单栏提示,会提示是否发布成功。
发布成功后,打开C:\Inetpub\wwwroot 你会看到你发布的网站文件,这里是Test

第三步,打开IIS

默认网站下会出现,Test虚拟目录,基本上大功告成了。
最后,在浏览器中输入地址:http://localhost/Test 即可
效果如下

转载原文:http://blog.knowsky.com/270414.htm
也谈.NET MVC 2 + ExtJS的部署问题的更多相关文章
- ssiOS应用架构谈 本地持久化方案及动态部署
本文转载至 http://casatwy.com/iosying-yong-jia-gou-tan-ben-di-chi-jiu-hua-fang-an-ji-dong-tai-bu-shu.html ...
- iOS应用架构谈 本地持久化方案及动态部署
转载: iOS应用架构谈 本地持久化方案及动态部署 前言 嗯,你们要的大招.跟着这篇文章一起也发布了CTPersistance和CTJSBridge这两个库,希望大家在实际使用的时候如果遇到问题,就给 ...
- 谁还没遇上过NoClassDefFoundError咋地——浅谈字节码生成与热部署
谁还没遇上过NoClassDefFoundError咋地--浅谈字节码生成与热部署 前言 在Java程序员的世界里,NoClassDefFoundError是一类相当令人厌恶的错误,因为这类错误通常非 ...
- 浅谈ThinkPHP3.2的子域名部署和路由优化(一)
前言:建立一个网站系统,往往包含多个子网站,例如PC官网,移动端官网,后台管理,数据源自一个相同的数据库,整个架构上,从ThinkPHP来看,可以大体理解为Model(M)是一样的,Controlle ...
- 谈对象 MVC 和 多端
什么是对象? 我是单身狗,我没有对象:我是C程序猿,我没有对象:我是程序猿,我只会new一个对象. 言归正传,想想从一个电商网站上买一个东西,“进入首页,搜索商品,选型购买,登录下单,支付完成”,这里 ...
- Asp.Net MVC结合ExtJs gridPanel 分页和高度自适应
Ext.onReady(function () { gridPanel(); var panel = Ext.getCmp('gridPanel'); window.onresize = functi ...
- [.Net MVC] Win7下IIS部署
这里简单的分三步实现网站的部署. 一.发布 VS2013中有发布选项,在需要发布的工程项目上(就是设置为启动项目的那个)右键,点“发布”选项: 然后会弹出一个窗口: 选择自定义,随便输入一个名字,然后 ...
- MVC 4.0项目部署在IIS上无法浏览的解决方案
本文属于原创,转载请标明出处! MVC 4.0发布后部署到IIS上可能出现无法浏览的问题,浏览器报403的错误. 解决方法是:只需在web.config配置文件里的<system.webServ ...
- 浅谈Spring MVC知识
关于MVC框架,我相信大家都不陌生,都会说也就是模型-视图-控制器这三层的框架结构,如果你参加面试的时候考官会问:“MVC框架是什么?你说一说.”其实我们都知道这个问题还需要问的,只要你是一个开发人员 ...
随机推荐
- 使用Integer类实现二叉树排序
class BinaryTree { class Node { private Comparable data; private Node left; ...
- python进阶4--pywin32
python 在windows下系统编程 1.环境配置:Python是没有自带访问windows系统API的库的,需要下载.库的名称叫pywin32,可以从网上直接下载. 以下链接地址可以下载: ht ...
- java 构造方法 constructor demo笔记
demo 地址 http://pan.baidu.com/s/1bo2FG1T package com.ws.study; /** * @author Administrator * */ publi ...
- HDU 5019 Revenge of GCD
题解:筛出约数,然后计算即可. #include <cstdio> #include <algorithm> typedef long long LL; LL a1[10000 ...
- kbengine简单介绍(1)
什么是kbengine? 一款开源的游戏服务端引擎,客户端通过简单的约定协议就能与服务端通讯, 使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d-x, HTML5, 等 ...
- 跨浏览器resize事件分析
resize事件 原生事件分析 window一次resize事件: IE7 触发3次, IE8 触发2次, IE9 触发1次, IE10 触发1次 Chrome 触发1次 FF 触发2次 Opera ...
- j详细说明ava于clone办法
原文地址:http://leihuang.org/2014/11/14/java-clone/ In java, it essentially means the ability to create ...
- docker进入容器
进入容器的三种方式: sshd nsenter exec sshd 在容器中开启一个SSHD的服务,通过SSH的协议登录到容器中,把容器看出一个vm nsenter: nsenter包含在util-l ...
- SSIS: 使用Lookup 和 Cache transformation 进行数据匹配简单介绍
本文将讲解Cache transformation的使用方式,并且用Lookup transformation进行匹配. 背景 如下图,我们的产品目标表中有些有尺寸信息有些没有.我们需要用Cache组 ...
- 1028: C语言程序设计教程(第三版)课后习题8.2
Description求方程 的根,用三个函数分别求当b^2-4ac大于0.等于0.和小于0时的根,并输出结果.从主函数输入a.b.c的值.Inputa b cOutputx1=? x2=?Sampl ...