如何通过ASP.NET MVC2控制器模型实现母版页的动态内容展示?

2026-03-30 13:001阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计464个文字,预计阅读时间需要2分钟。

如何通过ASP.NET MVC2控制器模型实现母版页的动态内容展示?

我在ASP.NET MVC2中使用了强类型视图和autofac进行依赖注入。通过依赖注入,我获得了一个通用的动态头。我希望在没有视图的情况下也能实现这个功能,避免使用静态发现容器和手动操作。

我在ASP.NET MVC2下使用强类型视图和autofac进行依赖注入,我试图通过依赖注入获得一个通用的动态头.即我希望这发生在没有视图必须离开这个内容甚至现有,我希望避免静态发现容器和手动分辨率,但我找不到一种方法来轻松注入主或部分视图包括在主人通过ctor或财产注入.

如何通过ASP.NET MVC2控制器模型实现母版页的动态内容展示?

我无法想象这是一个不常见的任务,但是我可以在方法方面找到的是Controller子类化将数据填充到无类型的ViewData,继承ViewModels以将主数据填充到模型中,或静态分辨率,所有这些我都是不想使用.我在俯瞰什么?

编辑:正如已经指出DI进入母版页正在与框架作斗争.所以我的问题很糟糕:我并不真正关心DI进入母版页,但我在网站的chrome中有一个动态元素,即母版页.为其提供模型不应该是使用该主服务器的每个控制器的责任,因为它是请求上下文,而不是控制器上下文特定的.我完全承认直接注入母版页是不合适的.如果我可以另外注册一个单独的主控制器,那就更好了.那可能吗?鉴于为主设备提供独立于控制器的模型的任务,框架适当的方法是什么?或者MVC中的共享内容是否要求每个Controller必须知道该内容?

你可以使用 child actions.

控制器:

public class MyHeaderController: Controller { private readony IRepository _repository; public MyHeaderController(IRepository repository) { _repository = repository; } [ChildActionOnly] public ActionResult Index() { var model = _repository.GetSomeModel(); return PartialView(model); } }

在您的母版页的某个地方包含它:

<div><%= Html.Action("Index", "MyHeader") %></div>

标签:模型

本文共计464个文字,预计阅读时间需要2分钟。

如何通过ASP.NET MVC2控制器模型实现母版页的动态内容展示?

我在ASP.NET MVC2中使用了强类型视图和autofac进行依赖注入。通过依赖注入,我获得了一个通用的动态头。我希望在没有视图的情况下也能实现这个功能,避免使用静态发现容器和手动操作。

我在ASP.NET MVC2下使用强类型视图和autofac进行依赖注入,我试图通过依赖注入获得一个通用的动态头.即我希望这发生在没有视图必须离开这个内容甚至现有,我希望避免静态发现容器和手动分辨率,但我找不到一种方法来轻松注入主或部分视图包括在主人通过ctor或财产注入.

如何通过ASP.NET MVC2控制器模型实现母版页的动态内容展示?

我无法想象这是一个不常见的任务,但是我可以在方法方面找到的是Controller子类化将数据填充到无类型的ViewData,继承ViewModels以将主数据填充到模型中,或静态分辨率,所有这些我都是不想使用.我在俯瞰什么?

编辑:正如已经指出DI进入母版页正在与框架作斗争.所以我的问题很糟糕:我并不真正关心DI进入母版页,但我在网站的chrome中有一个动态元素,即母版页.为其提供模型不应该是使用该主服务器的每个控制器的责任,因为它是请求上下文,而不是控制器上下文特定的.我完全承认直接注入母版页是不合适的.如果我可以另外注册一个单独的主控制器,那就更好了.那可能吗?鉴于为主设备提供独立于控制器的模型的任务,框架适当的方法是什么?或者MVC中的共享内容是否要求每个Controller必须知道该内容?

你可以使用 child actions.

控制器:

public class MyHeaderController: Controller { private readony IRepository _repository; public MyHeaderController(IRepository repository) { _repository = repository; } [ChildActionOnly] public ActionResult Index() { var model = _repository.GetSomeModel(); return PartialView(model); } }

在您的母版页的某个地方包含它:

<div><%= Html.Action("Index", "MyHeader") %></div>

标签:模型