我正在开发一个asp.net核心mvc项目并实现搜索。定义layout
允许我在构建表(标题)时使用@model IEnumerable<MyObject>
,这非常方便。
但是,在实现使用查询参数([FromQuery])绑定的@Hhtml.DisplayNameFor(m => m.FirstName)
时会出现此问题,因为它不是Razor视图中定义的模型。因此,我最终得到了一个包装器视图模型,用于Razor模型,该模型具有对象列表和搜索视图模式的属性。这样做并不是最佳的,并且还会产生副作用,因为属性名称会预先添加到所有可搜索的属性中,因此不需要长时间使用查询字符串。
我的问题是,如果我通过SearchViewModel
中的DisplayNameFor
而是让视图通过搜索视图模型,是否可以使用IEnumerable<MyObject>
。
如果有任何选项可以在某些部分设置不同的“DataContext”(ViewModel)(可能使用部分视图(以前从未使用过))来实现这一点,那将是很好的。这是我使用ASP.NET Core MVC的第一个项目
感谢您的帮助!