0

我有一个强类型的用户控件,它应该在所有页面上显示用户的订单,它包含在母版页中。我有一个 OrdersController,它可以给我当前的订单并在其他位置使用。

我如何告诉母版页中的 UserControl 它应该从特定的控制器/控制器操作中获取其数据?我想像在普通视图中一样访问 ascx 中的视图数据。

4

2 回答 2

1

将模型和 ViewData 作为参数传递给 RenderPartial 方法。它将使模型和视图数据可以访问,就像您在父视图页面中一样。

<% Html.RenderPartial ( "../Shared/HRMasterData/DependentPersonDossiers",
  ViewData.Model, ViewData ); %>
于 2009-02-11T12:36:38.093 回答
0

一种方法是实现一个基本控制器。将获取订单的逻辑移至基本控制器。在基本控制器中覆盖 OnActionExecuted 并检查结果是否为 ViewResult。如果是,找到订单并将它们添加到 ViewData。在您的主文件中,检查订单是否存在于视图数据中,如果存在,则呈现它们。如果没有,请显示“订单数据不可用”消息(后者不应该发生,但最好是安全的)。重用(调用)OrdersController 中基本控制器中的代码,用于呈现订单视图的操作。

于 2009-02-11T12:30:55.830 回答