MVC3升級到MVC4模型驗證信息顯示爲英文問題及解決方案

最近把項目從mvc3升級到mvc4,部署到服務器上出現了一個小問題,就是在表單裏字段驗證時,驗證顯示信息爲英文,以下:程序員

The field 平均租金 must be a number服務器

而在本地是好的,能夠顯示中文信息:mvc

字段 平均租金 必須是一個數字google

說明:咱們在服務器上沒有安裝mvc組件,只是把須要的DLL引入進來便可。也安裝了.net4.0 簡體中文語言包。以前MVC3項目也是正常的,升級到MVC4纔出現這個問題。spa

百度,google也僅僅幾條信息,沒有想要的答案。固然解決方法也不是沒有,就是在服務器上安裝MVC4須要的組件。但服務器上運行了多個項目,若是安裝一些程序,須要重啓勢必會對其餘正在處理業務的項目形成影響,全部暫時忽略這個辦法。.net

仔細分析了一下這個問題,我是從mvc3升級到mvc4,中間只是替換了一些mvc相關dll引用和配置文件的版本號,那麼我新建一個真正的mvc4的項目部署到服務上看會不會出現這個問題。3d

答案是可以正常顯示中文驗證信息。那麼問題出在哪裏呢? 咱們都知道一臺服務器若是沒有安裝mvc組件,只須要引用那幾個DLL便可。而驗證只須要在配置裏開啓,而後再頁面上引用那兩個JS便可。因此,問題確定是出在這個幾個地方。因而經過比較,發現新建的mvc4項目bin目錄裏多了一些文件夾,如 zh-hans,zh-hant等,做爲程序員對zh-打頭的東西老是很眼熟,百度一下,zh-hans表明中文簡體,zh-hant表明中文繁體。而後把這個文件夾拷貝到項目裏,驗證信息立刻正常顯示中文了(固然,你也能夠把zh-hans裏面無關的dll刪掉)。blog

 

至此,問題已解決了,但我又發現了一些讓我眼熟的東西。zh-hans文件夾裏dll都帶有resources。 沒錯,就是"resources" 讓我想起了作過的中英文版本,那不也是添加資源文件嗎?資源

因而用ILSpy反編譯一下,能夠看到,這不就是資源文件麼,並且在裏面還能看到咱們上面的驗證信息。部署

至此,全部謎底已解開。

相關文章
相關標籤/搜索