把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推荐的一些写法来写,这样避免以后遇到一些问题。

   这里也宣传一下我的个人名言,我的名言就是一切稀奇古怪的问题都是不规范的代码引起的。虽有夸张成分,但权当自我告诫。

原文地址:https://www.cnblogs.com/bjjjunjie/p/4252748.html