因此,如果有一些全局状态,MVC应用程序的每个视图都需要呈现…例如:IsUserLoggedOn和UserName …是否有适当的方式将信息提供给每个视图?
我知道视图的那一部分应该在母版页或部分视图中添加到其他视图中.但是什么是确保每次从所有相关控制器和操作将“全局”模型数据传递到视图的好方法?
解决方法
在询问之后,我找到了史蒂夫桑德森的这篇好博文:
http://blog.stevensanderson.com/2008/10/14/partial-requests-in-aspnet-mvc/
http://blog.stevensanderson.com/2008/10/14/partial-requests-in-aspnet-mvc/
他提出了三种不同的方法:
>每次使用基本控制器类或ActionFilter将相关模型添加到ViewData []集合中.我想有几个人已经提出过这样的事情了.
>在视图中使用Html.RenderAction()……正如他所说:
If someone tells you that internal
subrequests are bad because
it “isn’t MVC”,then just bite them on
the face immediately. Also ask them
why they’re still willing to use Ajax,
and even<IMG>
tags for that matter,
given that both are a form of
subrequest.
>使用’部分请求'(他在his blog提供此代码),允许一个控制器将对其他控制器的调用嵌套到嵌套的ViewData结构中.