![]() |
1
3
3种选择:
|
![]() |
2
3
您使用的是基本控制器吗?我发现使用ONActionExecuting方法和重写ONActionExecuting方法可以帮助我有一个中心位置来保留所有公共页面逻辑。 |
![]() |
3
3
您可以使用 MVC Future's 如果除了使用主视图模型外,还想为菜单使用自己的控制器等,请使用库。 |
![]() |
4
1
你基本上有两个选择:
您可能感兴趣的是异步控制器或部分请求。它没有在ASP.NET MVC中实现,但是您可以检查 MVC Contrib 社区项目,它有一些支持。 |
![]() |
5
0
有很多方法可以处理这个问题,但是有一种非常简单的方法可以处理这个问题,不需要重新构建整个应用程序。 我们有类似的问题,其中我们的页面/部分有一个定义良好的viewdata.model类型,但视图包含一个在多个页面上重复使用的部分。我们也试图避免使用viewdatadictionary。 但是,我们发现您所描述的情况正是我们喜欢使用ViewDataDictionary条目的具体场景。我们在应用程序模型中保留了一个静态常量类,该类包含每种类型常量的内部类,包括viewdata键,这样我们就不会在任何地方为这些常量设置字符串。 然后,我们的控制器操作将填充viewdata键和另一个页面/部分中的部分,以检查该键是否存在,并使用该键而不是viewdata.model。它使部分工作在它需要的任何地方,并保持你的视图模型干净。通过使用常量,我们可以避免在任何地方使用原始字符串。 |
![]() |
6
0
使用ActionFilter用所需的菜单信息填充ViewData。仅将其应用于类和/或方法(如果在任何地方都需要的话,可能在基控制器类上)。在控制器上创建一些扩展方法,使从VIEWDATA访问数据成为强类型(并且在以后更改其存储位置时是透明的)。 我最近做了 a blog post 使用类似的方法(我需要在每页上显示赞助商列表)。它可以帮助你找到正确的方向。 |
![]() |
7
0
为了增加这个,渲染被添加到MVC2测试版。 |