在cshtml中折叠C#块并保存

xen*_*_33 7 asp.net-mvc visual-studio-2010 razor asp.net-mvc-3

我们的cshtml文件中有一大块C#代码,必须以cshtml和其他地方呈现(显然这不是一个很好的案例,但这是另一个问题).

我们如何能够折叠或隐藏这些代码块以使我们的设计人员更顺畅地工作?我们还希望在使用标记进行演示的过程中隐藏这些代码块.

真正的问题是我们还必须将可视化表示保存到SVN中.

这个或插件是否有任何本机VS 2010功能?也许有机会使用"部分"cshtml页面,其中所有标记将在一个文件中,所有C#代码将在另一个文件中?

不幸的是,VS不会在这些文件中崩溃#region指令中的C#代码块.

最终,ASP.NET视图中存在类似的问题区域?但是当使用"折叠标记"上下文菜单操作项时,它没有给出如何保存折叠表示的答案.

Joe*_*one 15

尝试使用Visual Studio的折叠功能.默认情况下我相信密钥是:

[ Ctrl+ M,Ctrl+ H]隐藏任意选择,
[ Ctrl+ M,Ctrl+ U]取消隐藏相同的选择(折叠时).

这应该允许您暂时隐藏任何代码.有关MSDN的更多详细信息

这是你在找什么?

进一步阅读后,你希望保存它们崩溃,显然.cshtml不支持#regions.我想一个hacky解决方案可能是旧的:

@if(false){
    <div>
        <!--/*{your long code}*/-->
    </div>
}
Run Code Online (Sandbox Code Playgroud)

或者那种效果,但你明白了:)


小智 0

我的看法是 cshtml 文件适用于表示层的“用户控制”端。如果视图文件中有太多代码,那么我会重构代码并将可重用组件移动到部分视图中。然后我将通过以下方式包含这些部分观点

@Html.RenderPartial("PartialViewName", Model.propertyToRender),或者我会用

@{ Html.RenderAction("ActionName", "ControllerName") ;}