2011-05-10 26 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“元素是相关的。