【问题标题】:How can I access data from a model using the @using statement?如何使用 @using 语句访问模型中的数据?
【发布时间】:2014-04-07 03:54:54
【问题描述】:

您好,我有一种情况,我想从视图中的不同模型访问数据。在这种情况下,特殊的 ViewModel 将无法正常工作,所以我想我会尝试 using 语句。我一直在尝试下面的代码,但我似乎有错误的语法。您能帮我使用@using 语句从模型中访问数据吗?感谢您的帮助!

 @model IEnumerable<XXXX.Models.Enrollment>
     @    @using XXXX.Models


     @{

         var someName = from f in XXXX. Models where n.name== someValue select n; 
     }  

编辑:

我一直在努力:

var someName = from f in Students where n.name== someValue select n;

但是“学生”带有红色下划线,并且上下文没有给出正确语法的指示。

【问题讨论】:

  • 您的XXXX.Models 是一个命名空间。你必须在from … in C中使用class

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


【解决方案1】:

@using 用于在 Razor 视图中导入命名空间。您不能直接从中获取数据。 除非您正在执行 Linq2Sql 查询等操作。

要从不同的模型中获取数据,您需要创建复合 ViewModel 或使用 ViewBag 字典。

public class CompositeViewModel
{
 public ViewModel1 Model1 { get; set; }
 public ViewModel1 Model2 { get; set; }
}

@model IEnumerable<XXXX.Models.Enrollment>

在 Razor 的某个地方,

ViewBag.Model2

【讨论】:

  • 这是我过去使用的两种方式,但在这种情况下,我有两个不同的项目。不幸的是,我无法使用 ViewBag,因为我的解决方案中的第二个项目正在显示该视图。一个项目中的 ViewBag 内容不会在第二个项目中被访问。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
  • 2018-11-18
相关资源
最近更新 更多