【问题标题】:Regions In ASP.NET Views?ASP.NET 视图中的区域?
【发布时间】:2011-07-20 13:25:56
【问题描述】:

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

类似:

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

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

【问题讨论】:

  • 可以使用Ctrl+M、Ctrl+L折叠标签

标签: asp.net-mvc asp.net-mvc-3 views razor region


【解决方案1】:

这适用于 Visual Studio 2015 及更高版本 (感谢@dotnetN00b cmets 部分的示例):

<!-- #region Test -->

code here

<!-- #endregion -->

【讨论】:

  • 如果您有 VS 2012,请下载 Web Essentials 2012。无论哪种情况,您都需要转到 VS(我是 2012)中的菜单,工具 > 扩展和更新 > 在线并搜索为工具。简而言之,IMO,在 MS 提供内置支持之前,这绝对是答案。
  • 语法和&lt;!-- #region Test --&gt;&lt;!-- #endregion --&gt;一样简单。
  • 在没有插件的情况下与 VS2015 一起工作 - 很好的完美答案
  • 这是这里唯一正确的答案,其他人都在谈论折叠PARENT TAG,这不是一回事
  • 这应该是正确答案!无需任何插件即可与 VS2015 一起使用。
【解决方案2】:

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

【讨论】:

  • 正是我需要的!非常感谢!
  • 我从不知道你可以做到这一点,虽然我不知道如何给这个地区起个名字。也就是说,我看不出有什么理由不应该将其标记为正确答案?
  • 其实这是正确的答案。这个答案已被查克·诺里斯(Chuck Norris)授予赏金,所以不管绿色勾号在哪里。这是正确的。
  • 请注意,当您关闭并重新打开有问题的文件时,这不会保存,这使得它们至少在我的情况下并不是很有趣。
  • 另请注意,这实际上不允许您折叠一组元素,而是折叠它们的父元素和/或单个元素,在这种情况下不会产生预期的效果。就我而言,我正在代码块中寻找可折叠的#region 元素。由于我在 MVC 中使用 asp.net,因此我放置了区域标记,然后使用关闭/结束服务器标签。展开后很丑,但可以:&lt;% // non-collapsed code .. %&gt;&lt;% #region collapsable code #endregion %&gt;&lt;% // resume non-collapsed code.. %&gt; 或者你可以使用 Ctrl-M + Ctrl-H & Ctrl-M + Ctrl-U (stackoverflow.com/questions/6457967)
【解决方案3】:

在 Visual Studio(2015 及更高版本).html 或 .cshtml 代码编辑器中,键入region,然后按Tab 键。这实现了#region sn-p 代码,如下所示:

<!-- #region name -->

//Your html or cshtml codes

<!-- #endregion -->.

【讨论】:

  • 在最近的 VS 版本中绝对是更好的选择 - 而且更自然
  • 在 VS2013 中为我工作
  • 在 Visual Studio 2019 Professional 中为我工作
【解决方案4】:

在 Visual Studio 中,您可以像这样手动添加轮廓区域:

创建或删除可折叠区域

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

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

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

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

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

折叠和展开单个区域

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

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

折叠和展开所有区域

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

From MSDN

但这并不实际。

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

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

More info on MSDN

【讨论】:

  • 大纲折叠点。我觉得很实用。
【解决方案5】:

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

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

使用 Ctrl+M、Ctrl+H

我正在使用 Microsoft Visual Studio Pro 2013。

【讨论】:

  • 这是完美的(y)我喜欢它。太感谢了
【解决方案6】:

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

the newer answer;它可以工作并达到预期的效果。

【讨论】:

  • 无用,关闭时不保存。
【解决方案7】:

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

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

【讨论】:

    【解决方案8】:

    您可以使用带有RenderPartialRenderAction 的母版页来缩小您的视图。两者都有自己的位置。

    【讨论】:

      【解决方案9】:

      regions 对我来说是视图中的一种工作,我可以定义一个区域但它不会崩溃。如果你使用@Artur 的使用折叠标签的方法,你就差不多了! :)

      【讨论】:

        【解决方案10】:

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

        DIV 无疑是“更好”的解决方案,尤其是当额外的 DIV 允许以后更改 CSS 样式时具有更大的灵活性。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-11-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多