【问题标题】:Should I create my search filters box like as a ViewComponent?我应该像 ViewComponent 一样创建我的搜索过滤器框吗?
【发布时间】:2018-11-24 04:24:47
【问题描述】:

我在 web 中找到的所有示例,都将 ViewComponents 用于解决自身的复杂组件,换句话说,执行某些逻辑并显示某些结果而不与调用者视图交互的组件。

但我有下面的搜索框,它将在某些视图中使用,并且应该与调用者视图交互

当用户点击搜索按钮时,调用者视图将加载网格或表格中的过滤数据。

在 asp.net webforms 中,我可以在用户控件中创建自己的搜索过滤器框,但在 netcore 中,我不知道是否应该为此使用名为 ViewComponent 的新功能。

你怎么看?

【问题讨论】:

  • ViewComponent 不是 ASP.NET Core 中的新功能。由于您是新手,我建议您在这里参观一下:View components in ASP.NET Core。不过,实现这个目标的方法有很多,不仅仅是ViewComponent
  • 是的,我同意,但是,你觉得我使用 ViewComponent 来实现这个目标怎么样?
  • 我不知道,因为你正在学习如何使用ViewComponent。只要学习它,您就会知道它的好处,何时避免。

标签: asp.net-core asp.net-core-viewcomponent


【解决方案1】:

对此没有真正的答案。我的经验法则:如果您使用此搜索过滤器框的视图共享相同的视图模型,并且以后不太可能将搜索框用于非常不同的视图:从局部视图开始。如果搜索框将用于具有不同视图模型的非常不同的视图:实现视图组件。 视图组件更独立于局部视图,因为它们在相应的类中有自己的代码,因此它们可以构建自己的视图模型。因此,您的搜索框只会与您的视图松散耦合,如果您以后想调整某些内容,您不必在组件之外进行太多更改。 如果你只是想保存一段否则重复的cshtml代码,一个局部视图肯定足够了。

【讨论】:

  • 感谢您的回答。这对我很有帮助
猜你喜欢
  • 2013-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-12
  • 2023-02-01
相关资源
最近更新 更多