首页 > 代码库 > 关于采用MVC开发默认路由导致首页部分文件访问失效的临时解决方案
关于采用MVC开发默认路由导致首页部分文件访问失效的临时解决方案
最近开发中涉及了Mvc4的开发,其中的默认路由功能是很不错的东西,但是在实际应用中就出现了不少的问题。比如我们访问某网站http://www.abc.com,虽然路由会帮助自动转向Home/Index目录,但是浏览器的地址并没有变化,这个时候问题就出现了。如果你还有相对站点的还有其它子目录的时候,或者该mvc应用是放在虚拟目录中执行的时候,就会出现页面中设置"../某子目录名/文件名"无法访问的情况。只有当你在地址栏完整的输入路径,如:http://www.abc.com/Home/Index时,页面才会正常。目前个人研究出来应该是mvc路由机制导致的问题(当然也许是我个人习惯设置目录的问题),不管原因如何,总之问题确实是出现了。网上找了很多也没有解决,有个网友也问过,无人解答。这是mvc4用的人不多么?还是什么情况。不管了,我自己研了一套临时的解决办法,其原理就是人为的把简化首页地址补全,用JS来实现的,只需要把代码加入到Home/Index页面中的顶部位置优先执行就可以了。代码如下:
1 <script> 2 var loc = window.location.href.toString(); 3 if (loc.indexOf("Home") <= 0) { 4 if (loc.lastIndexOf("/") == loc.length - 1) { 5 window.location.href = loc + "Home/Index"; 6 } 7 else { 8 window.location.href = loc + "/Home/Index"; 9 }10 }11 </script>
代码谈不上简单易行,仅仅是个人为了解决问题临时弄的。因为时间有限没有去寻找更加好的解决办法。再此提供此办法的同时,也有请各位朋友在有更好的方法时,请不吝赐教,谢谢!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。