0

我正在开发一个 MVC 应用程序,它使用来自不同实体的数据以及显示当前日期。我想将这些数据从控制器传递给视图。我应该创建一个实体来持有其他实体吗?

4

3 回答 3

1

您可以制作一个视图模型并将所需的所有内容放入此视图模型中的视图中。

public class MyViewModel
{
     Entity1 Ent{get;set;}
     Entity2 Ent2{get;set;}
     DateTime CurrentDate{get;set;}  
}

public ActionResult index()
{
    MyViewModel model = new MyviewModel();
    model.Ent = new Entity1();
    model.Ent2 = new Entity2();
    model.CurrentDate = DateTime.Now;
    return View(model) 
}

您的视图现在必须接受 VieModel 而不是 db 生成的实体。鉴于您可以访问实体,例如

<%:Model.Ent1.SomeProperty%>
<%:Model.CurrentDate%>
<%:Model.Ent2.SomeProperty2%>
于 2011-03-30T07:52:51.253 回答
0

你真的需要一个单独的实体吗?我得到的是为什么不创建一个匿名对象来返回所需的实体或只返回所需的属性。每个数据场景都有一个实体可能会出现潜在问题。

于 2011-10-18T16:00:12.467 回答
0

我要做的是创建一个 ViewModel,它只保存视图特定的信息,而不是整个实体。

于 2011-03-30T07:48:27.147 回答