【问题标题】:How do I get Intellisense on the expression of a foreach loop within a Razor section?如何在 Razor 部分中的 foreach 循环表达式上获得 Intellisense?
【发布时间】:2012-02-25 01:14:54
【问题描述】:

在 Razor 部分的 foreach 循环中使用时,我似乎无法通过智能感知加载模型的属性。

@model Test.Models.TestViewModel
@section AdditionalPanel{
    @foreach(var meeting in Model.meetings){

    }
}

在上面的代码中,当我在Model后按.时,没有出现intellisense。

奇怪的是它可以在其他语句中工作(甚至在 for 循环中),并且在节块之外也可以工作。

有什么想法吗?

【问题讨论】:

  • 我有同样的问题 - 所以不仅仅是你 - 但没有解决方案!

标签: asp.net-mvc-3 razor intellisense


【解决方案1】:

您尝试访问 Model.meetings 的方式是不可能的,但如果您想达到相同的效果,您必须将会议对象分配给 ViewData,然后您可以在视图中读取它并循环播放。例如:

meetings = ViewData["meetingCollectionObject"] as Meetings;
@foreach(var meeting in meetings){

  }

不要忘记在视图中为会议类添加命名空间

【讨论】:

  • 我实际上可以使用我的代码访问 Model.meetings 而无需将其添加到 ViewData,因为它是一个强类型视图。只是 Intellisense 没有在这个非常具体的场景中显示属性。另一个注意事项是,如果我手动输入属性名称,代码完全可以工作,如果没有 Intellisense,这样做会有点不方便。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-07
  • 1970-01-01
  • 1970-01-01
  • 2021-12-13
  • 2015-01-26
相关资源
最近更新 更多