首先,使用razor
在ASP.net MVC4中发生这种情况我目前在解决方案的所有页面上都有一个布局。
布局包含加载内容的@RenderBody()
。
我的index.cshtml包含一个局部视图,这个局部视图需要一些仅在布局中的代码执行后才存在的数据。
我在局部视图的开头和布局的开头放置断点,并且首先渲染局部,是否有任何修改方法?
答案 0 :(得分:2)
可能不是,正如我想象的那样,它可能会导致框架中出现比其解决的更微妙的问题。
没有更多细节,真的听起来像真正的问题是这个数据只会在布局渲染后才存在。视图(包括布局)应该只是绑定到已经处理的数据。视图中不应该有其他逻辑,除了将它们呈现给UI之外的其他内容。
当你到达控制器中的return View()
时,应该完成所有业务逻辑处理,你应该只是从完成的模型构建UI。简而言之,布局中可能的逻辑属于模型。