asp.net-mvc – ASP .NET MVC正确的UserControl架构
我正在尝试学习新的ASP .NET MVC框架,并希望了解使用UserControls的最佳实践.
我知道您可以将UserControl作为部分渲染,并从控制器传递数据.理想情况下,我认为没有代码隐藏文件是有道理的,因为这会产生破坏MVC规则的诱惑. 我将举一个例子,我不明白UserControls如何适应模式.
解决方法
如果您的UserControl出现在每个页面上,那么解决此问题的一种方法是使用一个基本控制器,所有控制器都从该控制器派生并通过重写OnActionExecuting方法并将逻辑放在那里来为UserControl生成ViewData.如果您的UserControl不那么普遍,但仍然经常在整个站点中使用,您可以扩展ActionFilterAttribute并让您的过滤器生成所需的数据.此属性可用于装饰生成使用UserControl的视图的控制器或操作.
我在所有这些中假设UserControl的数据独立于被调用的动作.如果存在依赖关系,则最好将逻辑推入一个类(或类,可能使用策略),并在每个操作或控制器中显式生成数据(通过重写OnActionExecuting). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- IoC在ASP.NET Web API中的应用
- asp.net-mvc – 使用ValueInjecter在具有不同属性名称的对象
- 尝试调试我迁移的ASP.NET(WebForms)应用程序时出错
- asp.net – 如何使用转换语法更改web.config设置?
- asp.net-mvc-4 – 多个单选按钮组在MVC 4剃刀
- asp.net – Asp Button悬停和CSS
- asp.net-mvc – 在MVC应用程序中处理Rich Text
- asp.net-mvc – 如何在多个Asp.net MVC应用程序中使用通用布
- asp.net-mvc – 启用/禁用每个控制器/操作方法的会话状态
- owin – 如何在Startup.cs中添加CamelCasePropertyNamesCon
- asp.net-mvc – Ninject – 具有参数/ Entity Fr
- asp.net-mvc – 如何从编辑器模板添加JavaScript
- asp.net – 为什么我应该使用N层方法当使用SqlDa
- asp.net-mvc – ASP.NET MVC可以生成具有小写名称
- ASP.NET MVC和HTML5
- asp.net-mvc – 从ASP.NET MVC中采用“aspnet_ …
- asp.net-mvc – ASP.NET MVC区域可以显示自己的错
- 当我尝试添加映射文件时,ASP.NET脚手架的问题
- asp.net Web Api路由不工作
- asp.net-mvc – Excel Interop MVC