ASP.NET 视图中的区域?

问题描述 投票:0回答:11

我正在使用 Razor 引擎制作 ASP.NET MVC 应用程序。
我想知道是否可以在视图中使用Regions

类似:

#region blabla
    <p>@Model.Name</p>
    <p>...</p>
#endregion

这是行不通的。有替代方案吗?

asp.net-mvc asp.net-mvc-3 view razor region
11个回答
144
投票

这适用于 Visual Studio 2015 及更高版本 (感谢

@dotnetN00b
在评论部分提供示例):

<!-- #region Test -->

code here

<!-- #endregion -->

56
投票

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


20
投票

在 Visual Studio(2015 及更高版本).html 或 .cshtml 代码编辑器中,键入

region
,然后按
Tab
键。这实现了
#region
片段代码,如下所示:

<!-- #region name -->

//Your html or cshtml codes

<!-- #endregion -->.

14
投票

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

创建或删除可折叠区域

  1. 选择要视为可折叠区域的文本。

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

编辑器将所选内容变成一个区域,将其折叠,然后 显示一个带有省略号 (...) 的框以指示该区域 包含塌陷区域。您可以将鼠标指针悬停在该框上 查看其内容。

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

  2. 在“编辑”菜单上,指向“大纲”,然后单击“停止隐藏当前内容”。

折叠和展开单个区域

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

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

折叠和展开所有区域

在“编辑”菜单上,指向“大纲”,然后单击“切换全部” 提纲。

From MSDN

但这不太实用。

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

enter image description here

enter image description here

最小行数最小值为1才有效。

MSDN 上的更多信息


13
投票

我的上下文菜单中没有“CollapseTag”选项。我通常做的是:

  1. 选择文本。
  2. 转到编辑 -> 大纲 -> 隐藏选择。

使用 Ctrl+M、Ctrl+H

我正在使用 Microsoft Visual Studio Pro 2013。


11
投票

不,据我所知,不可能在视图中使用区域。您可以使用局部视图将视图区域分组为可重用的局部视图。

参见较新的答案;它有效并达到了预期的效果。


3
投票

Div 是可折叠的,因此您始终可以将它们与某种 id 一起使用来模拟区域。

<div id="BLABLA">...</div>

3
投票

您可以使用带有

RenderPartial
RenderAction
的母版页来缩小视图。两者都有自己的位置。


3
投票

区域对我来说在视图中起作用,我可以定义一个区域,但它不会崩溃。如果您使用 @Artur 的使用 Collapse Tag 的方法,那么您几乎就可以了! :)


1
投票

请注意,使用区域可能会导致视图出现问题 - 尽管它们在语法上是有效的,但代码和 HTML/SCRIPT 之间的指定通常会变得“混乱”,从而导致不可预测的行为。

DIV 无疑是“更好”的解决方案,特别是额外的 DIV 可以在稍后更改 CSS 样式时提供更大的灵活性。

如果您需要很多区域,请考虑进一步重构您的代码。


0
投票

这对我有用:)

<!-- #region
<p> bla bla <p>
@if(blabla)
{

}
#endregion -->
© www.soinside.com 2019 - 2024. All rights reserved.