在cshtml中折叠C#块并保存

时间:2011-08-26 07:56:45

标签: asp.net-mvc visual-studio-2010 asp.net-mvc-3 razor

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

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

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

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

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

最终有一个类似的问题Regions In ASP.NET Views?但是当使用“折叠标记”上下文菜单操作项时,它没有给出如何保存折叠表示的答案。

3 个答案:

答案 0 :(得分:15)

尝试使用Visual Studio的折叠功能。默认情况下,我认为密钥是:

[ Ctrl + M Ctrl + H ]隐藏任意选择,并且
[ Ctrl + M Ctrl + U ]取消隐藏(折叠时)。

这应该允许您暂时隐藏任何代码。有关详细信息,请参阅MSDN

这是你在找什么?

进一步阅读后,您希望将其保存为折叠,显然.cshtml不支持#regions。我想一个hacky解决方案可能是旧的:

@if(false){
    <div>
        <!--/*{your long code}*/-->
    </div>
}

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

答案 1 :(得分:2)

只需选择您的代码,右键单击并选择折叠标记

答案 2 :(得分:0)

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

包含这些部分视图

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

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