繁体   English   中英

如何将数据从控制器传递给asp.net mvc中的强类型用户控件?

[英]How do I pass data from a controller to a strongly typed user control in asp.net mvc?

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

如何在母版页中告诉UserControl应该从特定的Controller / Controller Action获取其数据? 我想像在普通View中一样在ascx中访问viewdata。

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

<% Html.RenderPartial ( "../Shared/HRMasterData/DependentPersonDossiers",
  ViewData.Model, ViewData ); %>

一种实现方法是实现基本控制器。 将获得订单的逻辑移至基本控制器。 在基本控制器中重写OnActionExecuted,然后检查结果是否为ViewResult。 如果是这样,找到订单并将其添加到ViewData。 在您的母版中,检查订单是否存在于视图数据中,如果存在,则渲染它们。 如果不是,请显示“订单数据不可用”消息(后者不应该发生,但是最好是安全的)。 重用(调用)OrdersController中基本控制器中的代码,以执行呈现订单视图的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM