ASP.NET视图中的区域?

Vel*_*ter 58 asp.net-mvc views region razor asp.net-mvc-3

我正在使用剃刀引擎制作ASP.NET MVC应用程序.
我想知道是否可以在视图中使用区域.

就像是:

#region blabla
    <p>@Model.Name</p>
    <p>...</p>
#endregion
Run Code Online (Sandbox Code Playgroud)

这不起作用.还有其他选择吗?

Mus*_*ğlu 100

如果您下载Web essential 2013,则可以在cshtml和javascript文件中使用区域.

像这样(感谢@dotnetN00b评论部分中的示例):

<!-- #region Test -->

code here

<!-- #endregion -->
Run Code Online (Sandbox Code Playgroud)

  • 语法就像`<! - #region Test - >`和`<! - #endregion - >`一样简单. (10认同)

Art*_*yan 53

选择需要转换为区域的部件,然后右键单击并按下CollapseTag

  • 请注意,当您关闭并重新打开相关文件时,这不会被保存,这使得它们至少在我的情况下并不真正有趣. (16认同)
  • 事实上,这是正确的答案.这个答案已被Chuck Norris授予赏金,所以无论绿色标记是什么.这是正确的. (5认同)
  • 另请注意,这实际上不允许您折叠一组元素,而是它们的父元素和/或单个元素,在这种情况下不会产生所需的效果.就我而言,我正在寻找代码块中可折叠的`#region`元素.由于我在MVC中使用asp.net,我将区域设为demark,然后使用close/end服务器标签.扩展后它很丑陋,但它可以工作:`<%//非折叠代码..%> <%#region可折叠代码#endregion%> <%//恢复非折叠代码..%>`或者你可以使用Ctrl -M + Ctrl-H和Ctrl-M + Ctrl-U(http://stackoverflow.com/questions/6457967) (3认同)
  • 我从来不知道你能做到这一点虽然我看不出如何给这个地区起名字.那就是说,我看不出有什么理由不能将其标记为正确的答案? (2认同)

Abd*_*bey 14

在Visual Studio中,您可以手动添加如下所示的轮廓区域:

创建或删除可折叠区域

  1. 选择要作为可折叠区域处理的文本.

  2. 若要创建可折叠区域,请在"编辑"菜单上,指向"大纲",然后单击"隐藏选择".

编辑器将选区转换为区域,折叠它,并显示带有省略号(...)的框以指示该区域包含折叠区域.您可以将鼠标指针放在框上以查看其内容.

  1. 要删除可折叠区域,请将其折叠,然后单击以将其选中.

  2. 在"编辑"菜单上,指向"大纲",然后单击"停止隐藏当前".

折叠和扩展单个区域

  1. 要折叠区域,请单击编辑器边距中的减号( - ).

  2. 要展开折叠区域,请单击边距中的加号(+).

崩溃和扩大所有地区

在"编辑"菜单上,指向"大纲",然后单击"切换所有大纲".

来自MSDN

但这并不实际.

对于HTML,您可以手动编辑文本编辑器选项中每个标记的大纲选项:

在此输入图像描述

在此输入图像描述

最小线的最小值为1才有效.

有关MSDN的更多信息


Pro*_*sts 12

我的上下文菜单中没有"CollapseTag"选项.我通常做的是:

  1. 选择文字.
  2. 转到编辑 - >概述 - >隐藏选择.

要么

使用Ctrl + M,Ctrl + H.

我正在使用Microsoft Visual Studio Pro 2013.

  • 这是完美的(是)我喜欢它.太多了 (2认同)

Fer*_*ehy 12

在Vs2015和Resharper中输入你的html或cshtml页面中的"region",然后按Tab键.这个插入#region片段代码.

<!-- #region name -->

//Your html or cshtml codes

<!-- #endregion -->
Run Code Online (Sandbox Code Playgroud)


Dar*_*rov 11

不,AFAIK无法在视图中使用区域.您可以使用partials将视图的区域分组为可重用的部分视图.

看到更新的答案 ; 它起作用并达到预期的效果.