2013-05-27 13 views
4

我在VS2012(Premium,Update 2)中創建一個新的項目/解決方案並選擇ASP.NET MVC 4 Web Application模板。在Content文件夾中創建的Site.css不包含display-labeleditor-labeleditor-field等的定義。但是當我讓VS2012創建一個新的View時,它會創建一個使用這些類的視圖。標準MVC4項目的Site.css不包含display-label,editor-label,editor-field的定義

這是正常的行爲嗎?或者我的VS2012安裝有問題?

如果我創建一個新的ASP.NET MVC 3 Web Application Site.css 確實包含定義。

我相信新的項目內容來自C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033\MvcWebApplicationProjectTemplatev4.1.cshtml\Content。我的電腦上該文件夾中的Site.css文件的日期爲2013年2月19日12:36,大小爲13.944字節。你的電腦有什麼不同?

我發現this question看起來很相似,但是在這種情況下,來自MVC3應用程序的代碼被遷移到了MVC4。在我的情況下,我只是創建一個開箱即用的新MVC4應用程序。

+0

我剛剛從VS 2012創建了一個全新的MVC 4應用程序,它擁有所有的CSS。你選擇了哪個模板? (空/基本/互聯網應用程序)。我也有VS2012的更新2不確定它是否重要。 – Jay

+0

我創建了一個ASP.NET MVC4 Web應用程序,然後選擇了Internet應用程序,並使用Razor視圖引擎。我也嘗試過ASPX視圖引擎,但沒有鎖定。你是說你的Site.css *確實有'display-label'的定義嗎? – comecme

回答

1

這可能不是一個特別有用的答案,但它看起來似乎是你所看到的是預期的行爲。我剛剛創建兩個VS2010和VS2012項目MVC3和MVC4和它似乎是這些類的風格已經從MVC4刪除,可能是因爲他們最初的造型很簡單:

.display-label, 
.editor-label { 
    margin: 1em 0 0 0; 
} 

.display-field, 
.editor-field { 
    margin: 0.5em 0 0 0; 
} 

一點也沒有」沒有風格的類會自動添加到這些元素,但它確實會爲您提供一個默認鉤子來應用自己的樣式,這可能是他們離開它們的原因。

不幸的是,這不是提及的在release notes for ASP.NET MVC 4

+0

讓我感到困惑的是,周杰倫(在他對我的文章的評論中)指出,當他創建一個新的MVC4應用程序時,它會*擁有所有的CSS。 – comecme

+0

我不認爲我相信他。我的項目模板中沒有這些樣式,並且有一點谷歌搜索表示這是從mvc3移動到mvc4的人們的一個常見的驚喜。 – adhocgeek