asp.net-mvc-2 – 如何使用控制器的模型提供ASP.NET MVC2母版页
发布时间:2020-12-16 09:20:55 所属栏目:asp.Net 来源:网络整理
导读:我在ASP.NET MVC2下使用强类型视图和autofac进行依赖注入,我试图通过依赖注入获得一个通用的动态头.即我希望这发生在没有视图必须离开这个内容甚至现有,我希望避免静态发现容器和手动分辨率,但我找不到一种方法来轻松注入主或部分视图包括在主人通过ctor或财
我在ASP.NET MVC2下使用强类型视图和autofac进行依赖注入,我试图通过依赖注入获得一个通用的动态头.即我希望这发生在没有视图必须离开这个内容甚至现有,我希望避免静态发现容器和手动分辨率,但我找不到一种方法来轻松注入主或部分视图包括在主人通过ctor或财产注入.
我无法想象这是一个不常见的任务,但是我可以在方法方面找到的是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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 有标签的ASP.NET WebControl吗?
- asp.net – 如何修改aspx页面的超时?
- asp.net-mvc – ASP.NET MVC应用程序显示奇怪的字
- asp.net – 如何让gridview中的一列成为图像?
- asp.net-mvc – asp.net mvc并检查用户是否已登录
- asp.net-mvc – 以任何方式配置配置visual studi
- asp.net-mvc – 如何使输入字段仅允许使用EF和数
- asp.net – 指向同一页面的动作链接
- asp.net-mvc – ASP.NET MVC2母版页 – 服务器端
- asp.net-mvc – 在Html.BeginForm()中使用RouteV
热点阅读