我正在使用Asp.Net MVC 3.0,我在共享文件夹中有_layout.cshtml。问题是我想在这个应该从数据库加载的.cshtml中生成菜单。但据我了解_layout.cshtml将不会有任何行动等相关的地方,我可以写逻辑,我不想在cshtml本身写所有的代码。是否有任何选项可以在共享文件夹中为cshtml编写逻辑?我应该在哪里编写逻辑从数据库获取菜单?
0
A
回答
1
您可以设置控制器和视图来呈现菜单并在_layout.cshtml
内调用它。
@{ Html.RenderAction("Index", "Menus"); }
0
@Eranga让您在实现您所请求的功能方面领先一步。我认为以下两篇文章将有助于以及:
Html.RenderAction和Html.Action:
http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx
Html.Action
方法的样本实现与高速缓存:
1
Eranga是正确的,但让我扩大他的答案,专门回答你的问题。
你可以做的是创建一个新的控制器(例如“菜单”),并创建一个名为default的操作。让这个动作返回一个视图,随心所欲地调用它。现在转到您的共享文件夹,并使用您指定的名称添加视图。
现在是很酷的部分。默认情况下,MVC框架将首先查看controllername/viewname路径,如果失败,它将查看您的shared/viewname路径,这是您刚刚创建的视图所在的位置!整洁,嗯? ; p
查看http://www.aspnetmvcninja.com/views/view-search-paths了解关于MVC搜索路径的更多信息。
相关问题
- 1. PHP:Zend_Layout:在哪里编写业务逻辑?
- 2. 哪里需要从数据库中获取数据的域逻辑
- 3. 我应该在哪里放置我的动态菜单创建逻辑以获得良好性能
- 4. PHP MVC:我应该在哪里放置模型搜索逻辑?
- 5. 我的安全逻辑应该放在哪里?
- 6. node.js /快速应用程序 - 我在哪里把数据库连接逻辑?
- 7. 我应该在哪里保存数据?
- 8. 哪里应该是我的逻辑服务层或控制器
- 9. 我的商业逻辑应该去哪里?
- 10. 我应该从哪里学习数据库?
- 11. 数据库 - 我应该从哪里开始?
- 12. 我应该在哪里编写业务逻辑?在前端(业务层)还是在存储过程中?
- 13. 响应菜单不应该在哪里它应该是
- 14. PHP,在哪里放多个数据库操作逻辑?
- 15. 我应该在哪里编辑BaseModelView(在BaseController中)?
- 16. 我在哪里放置ICommand的逻辑?
- 17. 逻辑地址在哪里?
- 18. 在哪里应该后台作业逻辑去
- 19. 我应该在哪里把我的控制器的业务逻辑MVC3
- 20. FMDataBase - 我应该在哪里存储数据库文件?
- 21. 我应该在哪里存储全局数据库实例?
- 22. 我应该在哪里保存数据库文件?
- 23. 我应该在哪里声明数据库对象
- 24. 从父子表获取逻辑数据?
- 25. Foundation 6 Off Canvas,我应该在哪里放置菜单内容?
- 26. 我怎么会从数据库中获取在下拉菜单
- 27. 我应该在哪里存储表单字段“提示”数据?
- 28. 我应该在哪里编写mapreduce程序
- 29. 我应该在Laravel中把价格计算逻辑放在哪里?
- 30. 我应该在Rails中将外部Web服务处理逻辑放在哪里?