gpt4 book ai didi

asp.net-mvc - ASP .NET MVC正确的UserControl体系结构

转载 作者:行者123 更新时间:2023-12-04 18:17:23 25 4
gpt4 key购买 nike

我正在尝试学习新的ASP .NET MVC框架,并想了解使用UserControls的最佳实践。

我了解您可以将UserControl呈现为部分控件,并将数据从 Controller 传递给它们。理想情况下,我认为在文件后没有代码是有道理的,因为这会产生破坏MVC规则的诱惑。

我将给出一个示例,在该示例中我不了解UserControls如何适合该模式。

I have a UserControl that shows the latest tags (much like on StackOverflow). Unlike StackOverflow I want to display this UserControl on all of my pages. If I have a controller say QuestionController which is meant to handle actions from some question views e.g. view and detail, does this mean I have to fetch the data in the QuestionController and then pass it to the UserControl?

If I create another controller say SearchController then I would have to replicate the same functionality to get the latest tags to pass to a partial again. Doesn't this mean that the 2 different controllers are doing extra things that they weren't originally intended to do?

最佳答案

如果您的UserControl出现在每个页面上,则解决此问题的一种方法是使用基本 Controller ,您的所有 Controller 都将通过重写OnActionExecuting方法并将逻辑放在那里来从其派生并生成UserControl的ViewData。如果您的UserControl普及程度较低,但仍在整个站点中经常使用,则可以扩展ActionFilterAttribute并让您的过滤器生成所需的数据。此属性可用于装饰生成使用UserControl的 View 的 Controller 或操作。

在所有这些中,我假设UserControl的数据与所调用的 Action 无关。如果存在依赖关系,则最好将逻辑插入一个类(或多个类,也许使用Strategy),并在每个 Action 或 Controller 中明确显示数据的生成(通过重写OnActionExecuting)。

关于asp.net-mvc - ASP .NET MVC正确的UserControl体系结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/705033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com