2011-05-10 65 views
0

我並不是很想找到,但我想盡可能地保證我的代碼的任何重新分解對我的前端沒有任何副作用。MVC - 強制建設和編譯剃刀視圖標記

它讓我發現我不得不重新考慮例如動作鏈接不使用字符串作爲參數(我發現可怕的東西),使用枚舉或常量的動作和控制器名稱。

例如@(Url.UserLink(UserActions.xxx))

但是我覺得奇怪的是我仍然可以輸入gobbledygook作爲參數(即不存在的枚舉項),並且項目將生成。瀏覽頁面我收到編譯時間錯誤。但是在調用控制器的單元測試中通過。

任何人都可以提出任何解決方法,以某種方式使用RenderView或從測試中的東西?至少該代碼不應該編譯!?

我還沒有探索前端測試,如華廷,但我想這將是未來...

回答

1

剛剛發現這個小金塊。顯然默認行爲它被認爲是不是一個好主意,讓當你建立你的意見進行編譯,這裏是如何重寫它(手工編輯您的Web .csproj的項目文件):

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
    <DebugSymbols>true</DebugSymbols> 
    ... 
    <MvcBuildViews>true</MvcBuildViews> 
    </PropertyGroup> 

注意「 MvcBuildViews「元素是相關的。