最近部署的項目的時候由於端口不夠用,想到了把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推薦的一些寫法來寫,這樣避免以後遇到一些問題。
這裏也宣傳一下我的個人名言,我的名言就是一切稀奇古怪的問題都是不規範的代碼引起的。雖有誇張成分,但權當自我告誡。