最近部署的项目的时候因为端口不够用,想到了把Mvc项目部署到虚拟目录中,结果发现图片,js设置control都找不到了。项目是mvc4+easyui开发的,大量的代码都是在js中调用control,写法就是直接'/Home/Login'这个样子的,mvc
可能会有人说不要建立虚拟目录,建立成应用程序,好吧,其实我就是建立应用程序,我之因此说是虚拟目录,是为了让表达更易理解一些。改路由配置我也试过,也不行。post
后来忽然想到,要是用mvc提倡的那种路径方式会怎么样呢?果断试一下ui
var loginAddress='@Url.Action("Go","Login")'; $.post(loginAddress, { un: $("#un").val(), pd: $("#pd").val(), }
用了url.action的方式,而后咱们查看页面源代码,url
var loginAddress='/test/Login/Go'; $.post(loginAddress, { un: $("#un").val(), pd: $("#pd").val(), codestr: codestr }
我这里虚拟路径的别名是test,居然自动加上了,功能天然也 实现了,好吧,后悔当初没有都写成这样,如今要有数不清的页面要修改,因此如今推荐你们必定要按照mvc推荐的一些写法来写,这样避免之后遇到一些问题。spa
这里也宣传一下个人我的名言,个人名言就是一切稀奇古怪的问题都是不规范的代码引发的。虽有夸张成分,但权当自我告诫。code