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