使用视图模型(ViewModel):
创建一个包含所有需要属性的新的视图模型类。这是最常见和推荐的方法,因为它保持了视图的单一职责原则,并且使得视图代码更加清晰和易于维护。
例如,假设你有两个模型 User
和 Order
,你可以创建一个视图模型 UserOrderViewModel
:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Order
{
public int Id { get; set; }
public decimal Total { get; set; }
}
public class UserOrderViewModel
{
public User User { get; set; }
public Order Order { get; set; }
}
然后在你的控制器中,创建并传递这个视图模型到视图:
public IActionResult SomeAction()
{
var user = new User { Id = 1, Name = "John Doe" };
var order = new Order { Id = 101, Total = 99.99M };
var model = new UserOrderViewModel { User = user, Order = order };
return View(model);
}
在视图中,你可以这样使用:
@model YourNamespace.Models.UserOrderViewModel
<div>
<h2>User Information</h2>
<p>Name: @Model.User.Name</p>
</div>
<div>
<h2>Order Information</h2>
<p>Total: @Model.Order.Total</p>
</div>