Asp.net mvc 3 如何在mvc3中从单视图的两个表或两个类中获取数据

Asp.net mvc 3 如何在mvc3中从单视图的两个表或两个类中获取数据,asp.net-mvc-3,Asp.net Mvc 3,如何在mvc3中从单个视图中的两个表或两个类中获取数据。 我想显示两个表中的数据。 我有一个家长班和两个孩子班。 即 公共类GetDocumentParent {在此处输入代码 公共列表getDocument{get;set;} 公共列表getDocumentRevision{get;set;} } 视图: " %> 型号: 一, 公开类文件 { 公共字符串文档\u名称 { 得到; 设置 } 可为空的公共活动日期 { 得到; 设置 } } 二, 公共类文件修订 { 公共字符串修订 { 得到;

如何在mvc3中从单个视图中的两个表或两个类中获取数据。 我想显示两个表中的数据。 我有一个家长班和两个孩子班。 即 公共类GetDocumentParent {
在此处输入代码
公共列表getDocument{get;set;} 公共列表getDocumentRevision{get;set;} }

视图:

" %> 型号: 一,

公开类文件 {

公共字符串文档\u名称
{
得到;
设置
}
可为空的公共活动日期
{
得到;
设置
}
}
二,

公共类文件修订 { 公共字符串修订 { 得到; 设置 } }

提前谢谢

有什么问题吗? 在控制器中使用:

var model = new GetDocumentParent
             {
                 getDocument = db.Document.ToList(),
                 getDocumentRevision = db.DocumentRevisions.ToList()

             };
             return View(model);
var model = new GetDocumentParent();
model.getDocument = ...//Code that initialize getDocument
model.getDocumentRevision =...//Code that initialize getDocumentRevision
鉴于:

@Html.EditorFor(m=>m.getDocument);
@Html.EditorFor(m=>m.getDocumentRevision);

请始终记住,最好使用一个视图模型来表示发送到视图的数据。视图将根据您的视图模型执行所需的操作。下面的代码可以指导您,您只需将其更改为适合您的场景即可

假设我有一个客户,每个客户只有一个地址。我将创建一个名为
CustomerDetailsViewModel
的视图模型来表示此数据:

public class CustomerDetailsViewModel
{
     public string FirstName { get; set; }

     public string Lastname { get; set; }

     public int Age { get; set; }

     public string AddressLine1 { get; set; }

     public string AddressLine2 { get; set; }

     public string City { get; set; }
}
显示客户和客户地址详细信息的操作方法:

public class CustomerController : Controller
{
     private readonly ICustomerRepository customerRepository;

     public CustomerController(ICustomerRepository customerRepository)
     {
          // Check customerRepository for nulls

          this.customerRepository = customerRepository;
     }

     public ActionResult Details(int id)
     {
          // Check that id is not zero or negative

          Customer customer = customerRepository.GetById(id);

          // Get the customer's address
          Address address = customerRepository.GetCustomerAddress(id);

          CustomerDetailsViewModel viewModel = new CustomerDetailsViewModel()
          {
               FirstName = customer.Firstname,
               LastName = customer.LastName,
               Age = customer.Age,
               AddressLine1 = address.AddressLine1,
               AddressLine2 = address.AddressLine2,
               City = address.City
          }

          return View(viewModel);
     }
}
上面的
id
表示客户的唯一标识符。它用于返回客户:

Customer customer = customerRepository.GetById(id);
还用于返回特定客户的地址:

Address address = customerRepository.GetCustomerAddress(id);
例如,
icCustomerRepository
实例由
IoC容器注入

在您的视图中,您可以传递此视图模型,并可以根据需要显示数据:

@model MyProject.DomainModel.ViewModels.Customers.CustomerDetailsViewModel

<div class="content">

     <div class="display-label">First Name: </div>
     <div class="display-content">@Model.FirstName</div>

     <div class="display-label">Last Name: </div>
     <div class="display-content">@Model.LastName</div>

     <div class="display-label">Age: </div>
     <div class="display-content">@Model.Age</div>

     <div class="display-label">Address Line 1: </div>
     <div class="display-content">@Model.AddressLine1</div>

     <div class="display-label">Address Line 2: </div>
     <div class="display-content">@Model.AddressLine2</div>

     <div class="display-label">City: </div>
     <div class="display-content">@Model.City</div>

</div>
@model MyProject.DomainModel.ViewModels.Customers.CustomerDetailsViewModel
名字:
@Model.FirstName
姓氏:
@Model.LastName
年龄:
@模型年龄
地址行1:
@Model.AddressLine1
地址行2:
@Model.AddressLine2
城市:
@模范城市

我希望这有帮助。

视图不显示秒的值class@Nitin:您可以调试并确定它是否填充了数据吗?您可以发布您使用的代码吗?与控制器方法和视图一起使用吗?您确定在第二类中有内容吗?item.DOCUMENT\u NAME)%>item.Revision)%>Controller:var model=new GetDocumentParent{getDocument=db.Document.ToList(),getDocumentRevision=db.DocumentRevisions.ToList()};返回视图(模型);
Address address = customerRepository.GetCustomerAddress(id);
@model MyProject.DomainModel.ViewModels.Customers.CustomerDetailsViewModel

<div class="content">

     <div class="display-label">First Name: </div>
     <div class="display-content">@Model.FirstName</div>

     <div class="display-label">Last Name: </div>
     <div class="display-content">@Model.LastName</div>

     <div class="display-label">Age: </div>
     <div class="display-content">@Model.Age</div>

     <div class="display-label">Address Line 1: </div>
     <div class="display-content">@Model.AddressLine1</div>

     <div class="display-label">Address Line 2: </div>
     <div class="display-content">@Model.AddressLine2</div>

     <div class="display-label">City: </div>
     <div class="display-content">@Model.City</div>

</div>