我在网络上找到的所有示例都将ViewComponents用于可自行解决的复杂组件,换句话说,这些组件执行某些逻辑并显示某些结果而无需与调用者视图进行交互。
但是我有下面的搜索框,它将在某些视图中使用,并且应该与调用者视图交互
当用户单击搜索按钮时,将在呼叫者视图中加载过滤后的数据到表格或表格中。
在asp.net网络表单中,我可以在用户控件中创建自己的搜索过滤器框,但是在netcore中,我不知道是否应该为此使用名为ViewComponent的新功能。
你怎么看?
答案 0 :(得分:0)
对此没有真正的答案。我的经验法则:如果使用此搜索过滤器框的视图共享相同的视图模型,并且以后不太可能将搜索框用于非常不同的视图:请从局部视图开始。如果搜索框将用于具有不同视图模型的非常不同的视图:实现视图组件。 视图组件更独立于局部视图,因为它们在其对应的类中具有自己的代码,因此它们可以构造自己的视图模型。因此,您的搜索框将仅与视图松散耦合,并且如果以后要进行某些调整,则无需在组件外部进行太多更改。 如果您只想保存一段否则会重复的cshtml代码,则部分视图绝对足够。